【发布时间】:2019-09-02 03:50:52
【问题描述】:
我正在寻找一种方法来为登录表单中的密码文本字段启用自动填充
作为备份解决方案,我正在考虑将密码保存在安全存储中,然后在执行新登录时使用生物识别技术恢复相同的密码。
但这不会涵盖 iOS 12 中的所有自动填充密码体验。 例如,密码不会跨多个设备保存。
有什么建议吗?
【问题讨论】:
我正在寻找一种方法来为登录表单中的密码文本字段启用自动填充
作为备份解决方案,我正在考虑将密码保存在安全存储中,然后在执行新登录时使用生物识别技术恢复相同的密码。
但这不会涵盖 iOS 12 中的所有自动填充密码体验。 例如,密码不会跨多个设备保存。
有什么建议吗?
【问题讨论】:
开箱即用的颤振尚不支持自动填充。我知道有两个问题正在跟踪这个问题(尽管与 android 相关)。您可能想订阅/投票:
我担心通过 3rd 方插件触发此功能并不容易。
关于您关于安全存储的问题:如果您在 iOS 上使用使用钥匙串的flutter secure storage plugin,则应通过 iCloud 跨设备同步。
【讨论】:
Flutter 现在支持自动填充(密码、电子邮件、用户名等) ☑️ 合并的拉取请求示例:https://github.com/flutter/flutter/pull/52126
例子:
@override
Widget build(BuildContext context) {
return AutofillGroup(
child: Column(
children: <Widget>[
TextField(controller: username, autofillHints: [AutofillHints.username]),
Checkbox(
value: isNewUser,
onChanged: (bool newValue) {
setState(() { isNewUser = newValue; });
},
),
if (isNewUser) TextField(controller: newPassword, autofillHints: [AutofillHints.newPassword]),
if (isNewUser) TextField(controller: repeatNewPassword, autofillHints: [AutofillHints.newPassword]),
if (!isNewUser) TextField(controller: password, autofillHints: [AutofillHints.password]),
],
),
);
}
【讨论】:
AutofillGroup 才能完成这项工作?还是没有它也可以工作?
AutofillGroup 的情况下工作,但如果你使用它,用户体验会更好。阅读更多关于它的信息here
我在同一页面上的电子邮件输入和密码输入都有自动填充功能。自动填充仅显示在密码字段中。
我必须将 TextField 包装在 AutoFillGroup 中,以便它们同时显示!
【讨论】: