响应本机文本输入在用户开始键入时不清除默认值



根据React-Native网站上的文档:

defaultValue:提供当用户开始键入时将更改的初始值。对于您不想处理侦听事件和更新值属性以保持受控状态同步的简单用例很有用。

但这种情况在Android API 16中并非如此。当我点击应用程序中的文本输入组件时,默认值将保留在那里,并且不会清除。 如何解决这个问题?我做错了什么吗? 我的代码:

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

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

你需要使用 onChangeText 和 value prop 设置新值

这是一个简单的例子:

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

在我的理解中,您要做的只是设置占位符,而不是默认值。你可以这样做。

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

如果您希望在屏幕加载后显示初始值,并且希望能够编辑此初始值并使用新值对其进行更新。

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

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

在您的情况下,输入字段将是文本输入

最新更新