use*_*076 6 javascript getelementbyid react-native
你如何在 react-native 中获取元素?
我的用例是登录屏幕。提交按钮被按下,现在我想获取用户名和密码 TextInputs 的值。
export default class Login extends Component
{
login()
{
//document.getElementById('username'); //run-time error
}
render()
{
return (
<View style={{flex: 1,flexDirection: 'column',justifyContent: 'space-between',margin:10}}>
<View style={{backgroundColor: 'powderblue'}} />
<MyTextField id='user' placeholder="User Name" />
<MyTextField id='pass' placeholder="Password" />
<MyButton onPress={this.login} title='Login'/>
</View>
);
}
}
Run Code Online (Sandbox Code Playgroud)
您没有在本机反应中获得 getElementById,您必须使用状态。你可以这样做:
export default class Login extends Component {
constructor (props) {
super(props);
this.state={
email:'',
password:''
}
this.login = this.login.bind(this); // you need this to be able to access state from login
}
login() {
console.log('your email is', this.state.email);
console.log('your password is', this.state.password);
}
render() {
return (
<View style={{flex: 1,flexDirection: 'column',justifyContent: 'space-between',margin:10}}>
<View style={{backgroundColor: 'powderblue'}} />
<TextInput onChangeText={(email) => {
this.setState({email})/>
<TextInput secureTextEntry={true} onChangeText={(password) => {
this.setState({password})/>
<MyButton onPress={this.login} title='Login'/>
</View>
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17597 次 |
| 最近记录: |