TextInput очищает текст, когда значение secureTextEntry равно true - PullRequest
0 голосов
/ 08 ноября 2018

Здравствуйте. Я использую TextInput для реагирования на систему, и есть опция для просмотра или скрытия пароля. Когда я устанавливаю для secureTextEntry значение true и вводю другой символ в поле ввода, он очищает все предыдущие данные и просто вводит символ.

Вот мой код:

<TextInput
 ref={ref => this._password = ref}
 style={[style.greyTextStyle, style.textinputStyle]}
 placeholder={strings.PASSWORD}
 secureTextEntry={this.state.securepass}
 placeholderTextColor={color.GREY_TEXT_COLOR}
 underlineColorAndroid='transparent'
 value={this.state.password}
 onChangeText={(text) => { this.setState({ password: text }) }} />

При нажатии на глаз я переключаю безопасный ввод текста

showPassword() {
 this.setState({ securepass: !this.state.securepass });
 if (this.state.securepass == false) {
  this.setState({ passIcon: 'eye' })
 } else {
  this.setState({ passIcon: 'eye-off' })
 }
}

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

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

установка свойства clearTextOnFocus в false в вашем textInput может помочь

<TextInput
 clearTextOnFocus={false}
 ref={ref => this._password = ref}
 style={[style.greyTextStyle, style.textinputStyle]}
 placeholder={strings.PASSWORD}
 secureTextEntry={this.state.securepass}
 placeholderTextColor={color.GREY_TEXT_COLOR}
 underlineColorAndroid='transparent'
 value={this.state.password}
 onChangeText={(text) => { this.setState({ password: text }) }} />
0 голосов
/ 08 ноября 2018

Я думаю, что это стандартное поведение iOS. Пожалуйста, отметьте это https://github.com/facebook/react-native/issues/9148 и это https://github.com/facebook/react-native/issues/12939. Вы можете попробовать сохранить значение перед переключением показать / скрыть пароль и установить снова после этого.

...