android - 无法在 native react 中编辑 TextInput 数据

标签 android reactjs react-native native

我是原生 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/

相关文章:

javascript - 如何在react js中的material ui中的列表项上设置点击监听器

reactjs - Firebase 部署成功后出现空白页

javascript - keepUnusedDataFor 和 refetchOnMountOrArgsChange 之间有什么区别?

javascript - (React Native) 组件异常 - 文本字符串必须在 <Text> 组件内呈现

react-native - 在 React-Native 中,我可以将 hitSlop 值添加到 StyleSheet.create 吗?

android - 如何判断左抽屉打开还是右抽屉打开

android - Textview 消失但 listview 可见

android - 从 Java 实例化 JNI 库的多个副本

java - 如何在没有 OneSignal 仪表板的情况下发送推送通知?

javascript - onValueChange 不适用于现有组件