【问题标题】:React Native - Disable Password AutoFill Option on iOS KeyboardReact Native - 在 iOS 键盘上禁用密码自动填充选项
【发布时间】:2023-03-03 17:21:01
【问题描述】:

在 React Native 中,如何禁用或阻止键盘显示 Password Autofill 附件视图选项? 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?

【问题讨论】:

  • 你试过autoCompleteType: 'off'吗?
  • 密码自动填充仍然显示为 autoCompleteType: 'off'

标签: ios reactjs react-native ios11 expo


【解决方案1】:

来自 RN 文档:

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

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

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

<TextInput
  secureTextEntry
  textContentType="oneTimeCode"
/>

还有其他情况,textContentType 不是 "username""password" 并且 secureTextEntry 为 false但仍显示自动填充。将 textContentType 设置为 "oneTimeCode" 也适用于此。

<TextInput
  textContentType="oneTimeCode"
/>

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

【讨论】:

    【解决方案2】:

    禁用自动完成

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-04-05
        • 2021-12-28
        • 2018-01-04
        • 2020-05-02
        • 2020-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多