小编mat*_*t93的帖子

使用换行符和键盘的多行文本输入关闭按键按钮

所以我一直在 iOS 上努力解决这个问题:我想要一个允许添加新行的多行文本输入:

// Now there's a "return" button, that adds a new line, perfect!

<TextInput
  multiline
  numberOfLines={2}
/>
Run Code Online (Sandbox Code Playgroud)

同时,我想要一个带有返回键的多行文本输入,它会关闭键盘(这样用户就可以继续向下滚动屏幕到提交 CTA):

// Now there's a "done" button, that dismisses the keyboard, yay!

<TextInput
  blurOnSubmit
  multiline
  numberOfLines={2}
  returnKeyType="done"
/>
Run Code Online (Sandbox Code Playgroud)

但是,我找不到如何将这两者结合起来的方法。对于其他键盘类型(例如number ),键盘上方有returnKey 。

有没有办法同时使用新行按钮和键盘关闭键进行多行文本输入?谢谢!

编辑:

世博小吃:https://snack.expo.io/@mattz/77a2d1

react-native

7
推荐指数
1
解决办法
3969
查看次数

如何在组件外部更改组件的状态?

在下面的几行中,我将描述如何创建更清晰和抽象的方法来管理(不仅仅是)我的代码中的onChange处理.

后来我遇到了这种模式:

class A extends React.Component {
  constructor(props) {...}

  handleText1Change = (e) =>
    this.setState(prevState => ({
      text1: e.target.value
    }))

  handleText2Change = (e) =>
    this.setState(prevState => ({
      text2: e.target.value
    }))

  render() {
    return (
      <div>
        <input
          type="text"
          onChange={this.handleText1Change}
        />
        <input
          type="text"
          onChange={this.handleText2Change}
        />
      </div>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

在组件中为每个输入编写处理函数非常烦人,它大致违反了DRY原则(不要重复自己).所以我重构了它并获得了以下内容:

class A extends React.Component {
  constructor(props) {...}

  handleInputChange = (value, property) =>
    this.setState(prevState => ({
      [property]: value
    }))

  render() {
    return (
      <div>
        <input
          type="text"
          onChange={e => this.handleInputChange(e.target.value, 'text1')}
        />
        <input …
Run Code Online (Sandbox Code Playgroud)

reactjs

2
推荐指数
1
解决办法
3227
查看次数

标签 统计

react-native ×1

reactjs ×1