React Native - secureTextEntry 禁用 IOS 13+ 强密码行为

Sea*_*sey 6 ios react-native

我的应用程序中有一个创建帐户表单,现在在运行 13+ 的 iOS 设备上我遇到了一个问题,如果用户在输入密码时按下“完成”键,正常的安全密码点将替换为以下内容(请参阅以下)。如何禁用此行为以使其像在旧设备上一样继续工作?

在此处输入图片说明

dev*_*dev 18

尝试以下道具:

textContentType={'oneTimeCode'}


Sea*_*sey 12

不是最佳解决方案,但添加 blurOnSubmit 和键盘 Dismiss on submit 似乎可以恢复所需的行为:

import { Keyboard } from 'react-native'

<TextInput
   ...
   blurOnSubmit={false}
   onSubmitEditing={()=> Keyboard.dismiss()}
/>

Run Code Online (Sandbox Code Playgroud)

  • 从 iOS 15.4 开始,这似乎无法运行,2022 年是否有更好的方法来做到这一点 - https://snack.expo.dev/@ramakay/spunky-celery (3认同)

小智 5

仅当我使用设置TextInput为 的两个组件时才会出现此问题。secureTextEntrytrue

如果您不需要它,您可能想删除第二个TextInput组件。

您还可以修改 的值secureTextEntry,例如仅将其设置为事件触发trueonFocus并从那里演变。(参见: https: //github.com/facebook/react-native/issues/27586#issuecomment-580739397