我正在使用自定义键盘。因为我使用CustomTextInput代替TextInput。一切正常,但我想将输入字段集中在函数中。
<CustomTextInput customKeyboardType="hello"
onFocus={() => this.onFocus('fieldname')}
selectTextOnFocus={ true }
ref="TextInput"
underlineColorAndroid = 'transparent'
onChangeText={(value) => this.setState({fieldname:this.onChange(value)})}
/>
在函数中,如下所示:-
function () {
Keyboard.dismiss();
this.refs.TextInput.focus();
}
但是我收到一个错误:- this.refs.TextInput.focus不是一个函数。 基本上我的 focus(( 函数不起作用。
请帮忙!
我试过this.refs['TextInput'].focus()
它对我有用。你可以为Textinput
的onFocus
编写一个函数,在这个函数中,忽略默认键盘,午餐你的自定义键盘,然后再次专注于你的TextInput
。我希望它会有所帮助。
这是我的代码:
<TextInput
style={{ height: 40, width: 200 }}
ref="TextInput"
/>
<TouchableOpacity
onPress={() => { (this.refs['TextInput'] as any).focus() }}>
<Text>Press to focus</Text>
</TouchableOpacity>