在显示/隐藏密码时TextInput光标移动到开头

7

当揭示或隐藏密码值时,TextInput光标存在问题。当用户触摸“显示密码”按钮时,Android上的光标会移动到开头,而iOS则按预期工作。

这是显示密码的功能:

displayPass(){
    this.setState({
        hiddenPass: !this.state.hiddenPass
    });
}

这是TextInput

<TextInput onChangeText = {(pass) => this.setState({pass})} 
  secureTextEntry = {this.state.hiddenPass} />

这是按钮:

<TouchableOpacity onPress = {this.displayPass.bind(this)}>
    <Text style = {styles.textReveal}>{this.state.hiddenPass ? "Reveal Password" : "Hide Password"}</Text>
</TouchableOpacity>    

你找到任何解决方案了吗? - Rocío García Luque
嗨@RocíoGarcíaLuque,我认为这个问题仍然存在于RN核心中,所以我安装了这个链接来处理它。 - GeekDev
非常感谢您回答我的评论@GeekDev...这个问题确实耗费了我很多时间。昨天在疯狂地尝试之后,我终于用Expo 33进行了测试,现在它可以工作了,我会发布一个包含两种方法的答案。 - Rocío García Luque
1个回答

0
免责声明:对于我来说,在Expo 32下修复这个问题是不可能的。尝试改变光标位置、焦点/模糊以及setNativeProps都没有解决它。
如果您需要一个带有隐藏和显示功能的密码输入,您最好的选择是:

太棒了!我用第一个选项解决了问题,react-native-hide-show-password-input。我会将其标记为解决方案! - GeekDev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接