TextInput是react-native中的多行

时间:2017-06-21 06:45:10

标签: react-native

我在react-native中遇到了 TextInput 的问题。

我已启用多行,当触发 onChange 功能时,我想知道 TextInput 目前是否处于多线模式。

我到目前为止找到的唯一解决方案是检查 onChange 函数的 .nativeEvent.contentSize.height 参数是否大于 lineHeight + 20。

有没有更好的解决方案?

3 个答案:

答案 0 :(得分:0)

有一个支持听取名为onContentSizeChange的内容大小更改的道具。您应该使用它来检查它是否是多线。

答案 1 :(得分:0)

 render() {
    return (
      <TextInput
        multiline={true}
        style={{
          height: this.state.inputHeight
        }}
        onContentSizeChange={ this._onTextContentSizeChange }/>
    );
  }

  _onTextContentSizeChange = (event) => {
    console.log("Calls when size changes");
  }

答案 2 :(得分:0)

您可以拥有一个隐藏的Text组件,该组件与TextInput保持相同的内容。然后测量该Text的numberOfLines以检查它是否是多行。