当用户开始键入时,React本机TextInput不清除默认值

时间:2017-07-31 20:04:07

标签: react-native hybrid-mobile-app react-native-android

根据React-Native网站上的docs

defaultValue:提供一个初始值,该值将在用户开始输入时更改。对于您不想处理事件监听和更新值prop以简化受控状态同步的简单用例非常有用。

但Android API 16中并非出现这种情况。当我点击我的应用中的textinput组件时,默认值仍保留在那里并且不会被清除。 如何解决这个问题?难道我做错了什么? 我的代码:

<TextInput style={styles.input} defaultValue='Enter Password'/>

如何在用户开始输入时清除默认值?

3 个答案:

答案 0 :(得分:2)

您需要使用onChangeText和值prop

设置新值

这是一个简单的例如:

<TextInput style={styles.input} defaultValue='Enter Password' 
onChangeText={text => this.setState({input: text})} value={this.state.input}/>

答案 1 :(得分:1)

根据我的理解,你要做的只是设置占位符,而不是defaultValue。你可以这样做。

<TextInput style={styles.input} placeholder='Enter Password' onChange={text => this.setState({input: text})} />

答案 2 :(得分:1)

如果您有一个要在屏幕加载后显示的初始值,并且希望能够编辑该初始值并用新值更新它。

首先,您必须使用value属性设置初始值,然后使用onChangeText将初始值更新为新值

<InputField
          onChangeText={text => this.setState({value: text})}
          value={this.state.value}
        />

在您的情况下,InputField将为TextInput