我正在做出反应,以反应自己的本机。
但我坚持使用e.target.value。
这是React的一个很好的代码。
_searchContact = (e) => { this.state.keyword
this.setState({
keyword : e.target.value
});
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
<input
name="keyword"
placeholder="Search"
value={this.state.keyword}
onChange={this._searchContact}
/>
然后我尝试用React-native的方式再次写
但这不起作用。
_searchContact = (e) => {
this.setState({
keyword : e.nativeTarget.value
});
}
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
name="keyword"
placeholder="Search"
onChangeText={this._searchContact}
value={this.state.keyword}
/>
答案 0 :(得分:2)
如果您使用的是onChangeText
,则必须使用匿名函数并像这样传递“文本”
(text) => this._searchContact(text)
而不是将e传递到您的方法中,而是将test作为参数传递并设置等于文本的关键字。
_searchContact = (text) => {
this.setState({
keyword : text
});
}
希望这会有所帮助!
答案 1 :(得分:0)
只需使用e
作为值并将其在setState中设置为keyword
。
您的代码只能与以下代码一起使用:
_searchContact = (e) => {
this.setState({
keyword : e
});
}
实际上,当文本输入的文本更改时,onChange
和onChangeText
都被触发,但是onChange
不提供更改后的文本,它只是一个提示回调,因此要提取值当前正在键入的文本,onChangeText
给出一个回调,并将更改后的文本作为回调的参数。
供参考,请阅读this。
希望这会有所帮助。祝您编码愉快!