我是新来的本地人。我正在尝试更新数据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中编辑值。
如果您需要任何进一步的详细信息,请通知我。 提前致谢。
答案 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
中提到的