React Native - 在 iOS 键盘上禁用密码自动填充选项

IT技术 ios reactjs react-native ios11 expo
2021-05-25 15:45:41

在 React Native 中,如何禁用或阻止键盘显示密码自动填充附件视图选项?TextInput似乎没有处理禁用此选项的属性React Native TextInput 文档我也在React Native 之上使用Expo

iOS 11 中引入了密码自动填充

密码自动填充附件视图选项的图像

这是一篇关于禁用密码自动填充附件的解决方案的帖子,但我们如何使用 React Native 实现这一点?

iOS 11 禁用密码自动填充附件视图选项?

3个回答

来自 RN 文档:

对于 iOS 11+,您可以将 textContentType 设置为用户名或密码,以启用从设备钥匙串自动填充登录详细信息。

这意味着将textContentType设置为不同于用户名或密码的内容应禁用 iOS 键盘上的自动填充。但我注意到,即使textContentType不是用户名或密码,在TextInput组件中将 secureTextEntry prop设置为 true也会启用自动填充这是真的,除了一种特殊情况,当textContentType设置为"oneTimeCode" 时即使secureTextEntry为真,这也会禁用自动填充

当我想隐藏密码自动填充并仍然将secureTextEntry设置为 true 时,我只是这样做:

<TextInput
  secureTextEntry
  textContentType="oneTimeCode"
/>

还有其他情况,其中textContentType不是“用户名”“密码”,secureTextEntry为 false 但仍显示自动填充。textContentType设置“oneTimeCode”在这里也有效。

<TextInput
  textContentType="oneTimeCode"
/>

这看起来更像是一个黑客而不是解决方案,但它对我有用。

我试过了,这帮助我禁用了自动填充选项:

<TextInput
  textContentType="none"
  autoCorrect={false}
/>

禁用自动完成

<Input autoCompleteType='off' placeholder="Email" />