我正在寻找一种在登录表单中启用密码文本字段自动填充的方法
作为备份解决方案,我正在考虑将密码保存在安全存储中,然后使用生物识别技术在执行新登录时恢复相同的密码。
但这不会涵盖iOS 12的所有自动填充密码体验。 例如,密码不会在多个设备上保存。
有什么提示吗?
答案 0 :(得分:27)
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]),
],
),
);
}
您可能需要切换到dev
或master
频道(flutter channel master
)。
答案 1 :(得分:2)
开箱即用时尚不支持自动填充。我知道有两个问题正在跟踪此问题(尽管与android相关)。您可能要订阅/投票:
我担心通过第三方插件触发此功能并不容易。
关于安全存储的问题:如果您使用的flutter secure storage plugin在iOS上使用了钥匙串,则应该通过iCloud在设备之间进行同步。
答案 2 :(得分:0)
我在同一页面上对电子邮件输入和密码输入进行了自动填充。自动填充仅显示在密码字段中。
我必须将 TextField 包装在 AutoFillGroup 中,以便它们同时显示!