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

时间:2018-01-28 17:46:29

标签: ios reactjs react-native ios11 expo

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

Password AutoFill was introduced in iOS 11

Image of Password AutoFill Accessory view option

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

iOS 11 disable password autofill accessory view option?

3 个答案:

答案 0 :(得分:5)

来自RN文档:

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

这意味着将 textContentType 设置为与用户名或密码不同的值应会禁用iOS键盘上的自动填充功能。但是我注意到,即使 textContentType 不是用户名或密码,在 TextInput 组件中将 secureTextEntry 属性设置为true也会启用自动填充。除 textContentType 设置为“ oneTimeCode” 以外,这是一种特殊情况。即使 secureTextEntry 为true,这也会禁用自动填充。

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

<TextInput
  secureTextEntry
  textContentType="oneTimeCode"
/>

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

<TextInput
  textContentType="oneTimeCode"
/>

这似乎更像是一种技巧,而不是解决方案,但这对我有用。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

禁用自动完成

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