首先,这是我的自定义组件。
return (
<View style={[styles.container,this.props.style]}>
<TextField
style={styles.inputText}
autoCapitalize={this.props.autoCapitalize}
ref={this.props.ref}
autoCorrect={false}
onFocus={() => this.setState({isFocus:true})}
onBlur={() => this.setState({isFocus:false})}
value={this.state.text}
label={this.props.placeholder}
secureTextEntry={this.props.secureTextEntry}
blurOnSubmit={this.props.blurOnSubmit}
keyboardType={this.props.keyboardType}
returnKeyType={this.props.returnKeyType}
textContentType={this.props.textContentType}
// onSubmitEditing={this.props.focus(this.props.textInput)}
onSubmitEditing={this.props.onSubmit}
placeholderTextColor='grey'
onChangeText={this.props.onChangeText ? this.props.onChangeText : (text) => this.setState({ text })}
editable={this.props.editable}
/>
</View>
);
现在,在提交电子邮件字段时,我要关注密码字段;在提交密码字段时,我要提交表单。
这是该代码:
<MaterialTextInput
placeholder="Email"
// ref={(input) => { this.emailInput = input; }}
ref={ref => (this.emailInput = ref)}
onSubmit = {() => this.passwordInput.focus()}
onChangeText={(text) => this.handleEmailchange(text)}/>
<MaterialTextInput
placeholder="Password"
ref={ref => this.passwordInput = ref}
onSubmit = {() => this.submit()}
onChangeText={(text) => this.handlePasswordchange(text)}/>
但这不起作用。 它给出了错误,
this.passwordInput.focus is undefined
请告诉我我在做什么错了吗?