在一个react原生应用程序中,我用构建了一个使用value属性时无法键入的表单。每个新字符都将被删除,文本框将重新设置为以前表单中的状态。
class LoginScreen extends Component {
constructor(props) {
super(props);
this.state = {
username: 'nobody',
password: '****'
};
}
render() {
return (
<View style={styles.container}>
.......
<View style={styles.inputContainer}>
<TextInput
style={[styles.input, styles.whiteFont]}
placeholder="Username"
placeholderTextColor="#FFF"
value={this.state.username}
/>
使用此代码不可能进行任何键入。当我去掉attibute的值时,一切都很好。但我想使用这个数据绑定。
如何处理具有数据绑定的TextInput元素?
更新:
我也尝试过这个,但没有成功:
<TextInput
style={[styles.input, styles.whiteFont]}
placeholder="Username"
placeholderTextColor="#FFF"
value={this.state.username}
ref= "username"
onChangeText={(username) => this.setState({username})}
/>
您想在TextInput
组件中添加如下事件处理程序,以将状态设置为用户输入的值onChangeText={(text) => this.setState({username: text})}