我是原生 react 新手。我正在尝试更新 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 中编辑值。
如果您需要任何进一步的详细信息,请告诉我。 提前致谢。
最佳答案
您必须将初始值(从 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中提到了
关于android - 无法在 native react 中编辑 TextInput 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50849738/