我在react-native中遇到了 TextInput 的问题。
我已启用多行,当触发 onChange 功能时,我想知道 TextInput 目前是否处于多线模式。
我到目前为止找到的唯一解决方案是检查 onChange 函数的 .nativeEvent.contentSize.height 参数是否大于 lineHeight + 20。
有没有更好的解决方案?
答案 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以检查它是否是多行。