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

Dav*_*vid 7 ios reactjs react-native expo ios11

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

密码自动填充是在iOS 11中引入的

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

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

iOS 11禁用密码自动填充附件查看选项?

Jer*_*ero 5

来自 RN 文档:

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

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

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

<TextInput
  secureTextEntry
  textContentType="oneTimeCode"
/>
Run Code Online (Sandbox Code Playgroud)

还有一些其他“随机”情况,其中textContentType未设置为用户名或密码,且secureTextEntry为 false 但仍显示自动填充(此处为绝望表情符号)。将textContentType设置为"oneTimeCode"也可以解决此问题:

<TextInput
  textContentType="oneTimeCode"
/>
Run Code Online (Sandbox Code Playgroud)

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