Android设备上的TextInput事件'onContentSizeChange'有问题。 实际上,当我输入消息直到行尾并且文本转到下一行时TextInput的高度没有更新时,它才被触发。
示例:
return (
<TextInput
{...this.props}
multiline={Boolean(true)}
onChangeText={(text) => {
this.setState({text})
}}
onContentSizeChange={(event) => {
this.setState({height: event.nativeEvent.contentSize.height})
}}
style={[ additionalStyles, {height: this.state.height}, {fontSize: config.defaultFontSize} ]}
value={this.state.text}
underlineColorAndroid={'rgba(0,0,0,0)'}
/>
)
有人知道为什么会这样吗?
P.S。帮助使用onChange而不是onContentSizeChange
答案 0 :(得分:1)
请参阅React Native issue #11692。这看起来将在即将发布的版本中修复。目前尚不清楚,它仅在几周前修复,但可能会在0.46。
答案 1 :(得分:0)
尝试 onContentSizeChange
onContentSizeChange={e=>{
let inputH = Math.max(e.nativeEvent.contentSize.height, 35)
if(inputH>120) inputH =100
setIputHeight(inputH)
}}