首页 > 解决方案 > 如何在 React-native 中制作 e.target.value?

问题描述

我正在将 React 转移到 React Native。
但是我坚持使用 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} 
    />

标签: react-native

解决方案


如果您正在使用onChangeText,则必须使用匿名函数并像这样传递“文本”

(text) => this._searchContact(text)

而不是将 e 传递到您的方法中,而是将测试作为参数传入并将关键字设置为等于文本。

 _searchContact = (text) => { 
 this.setState({
  keyword : text
 });
}

推荐阅读