无法在本机中编辑TextInput数据

时间:2018-06-14 04:42:50

标签: android reactjs react-native native

我是新来的本地人。我正在尝试更新数据n TextInput字段,但它不允许我编辑它。这是我正在使用的代码。

  <TextInput style = {styles.textInputStyle}
                            underlineColorAndroid = "transparent"
                            placeholder = "Student First Name"
                            placeholderTextColor = "gray"
                            autoCapitalize = "none"
                            onChangeText = {this.handleFirstName}
                            value={this.props.navigation.state.params.firstName}
                          />   



  handleFirstName = (text) => {
      this.setState({ firstName: text })
   }

此相同的代码在IOS设备中工作,因为它不允许在Android中编辑值。

如果您需要任何进一步的详细信息,请通知我。  提前致谢。

1 个答案:

答案 0 :(得分:1)

你必须将初始值(从props获得)设置为构造函数中的状态,然后在value中引用状态

<TextInput style = {styles.textInputStyle}
   underlineColorAndroid = "transparent"
   placeholder = "Student First Name"
   placeholderTextColor = "gray"
   autoCapitalize = "none"
   onChangeText = {this.handleFirstName}
   value={this.state.firstName}
 />

并在构造函数中如下

constructor(props){
  ....
  this.state = { firstName: props.navigation.state.params.firstName }
  ....
}

这是link

中提到的