this.refs.FieldName.focus () не является функцией в React Native - PullRequest
0 голосов
/ 29 мая 2018

Я использую Custom Keyboard.В этом я использую 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 () не работает.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 29 мая 2018

Я пытался this.refs['TextInput'].focus(), и у меня это работает.Вы можете написать функцию для Textinput onFocus, и в этой функции по умолчанию использовать клавиатуру dimiss, настроить свою индивидуальную клавиатуру и снова сфокусироваться на TextInput.Я надеюсь, что это поможет.

Это мой код:

<TextInput
    style={{ height: 40, width: 200 }}
    ref="TextInput"
/>

<TouchableOpacity
    onPress={() => { (this.refs['TextInput'] as any).focus() }}>
        <Text>Press to focus</Text>
</TouchableOpacity>
...