我遇到一个非常简单的问题.我有用户名,密码和按钮的登录表单.在我的按钮处理程序中,我尝试获取textinput值.但总是得到未定义的价值.我错过了什么吗?
render() { <ExScreen headerColor={this.state.headerColor} scrollEnabled={this.state.enableScroll} style={styles.container} > <View > <View > <View style={[styles.inputContainer]} > <TextInput ref= "username" onChangeText={(text) => this.setState({text})} value={this.state.username} /> </View> <Button style={{color: 'white',marginTop: 30,borderWidth: 1,borderColor: 'white',marginLeft: 20*vw,marginRight: 20*vw,height: 40,padding: 10}} onPress={this._handlePress.bind(this)}> Sign In </Button> ... _handlePress(event) { var username=this.refs.username.value;
在您的onChangeText回调中传递用户名作为参数,以使用es6属性的简写
<TextInput ref= {(el) => { this.username = el; }} onChangeText={(username) => this.setState({username})} value={this.state.username} />
然后在你的_handlePress方法中
_handlePress(event) { let username=this.state.username; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。