【问题标题】:Flutter: password autofillFlutter:密码自动填充
【发布时间】:2019-09-02 03:50:52
【问题描述】:

我正在寻找一种方法来为登录表单中的密码文本字段启用自动填充

作为备份解决方案,我正在考虑将密码保存在安全存储中,然后在执行新登录时使用生物识别技术恢复相同的密码。

但这不会涵盖 iOS 12 中的所有自动填充密码体验。 例如,密码不会跨多个设备保存。

有什么建议吗?

【问题讨论】:

    标签: dart flutter autofill


    【解决方案1】:

    开箱即用的颤振尚不支持自动填充。我知道有两个问题正在跟踪这个问题(尽管与 android 相关)。您可能想订阅/投票:

    我担心通过 3rd 方插件触发此功能并不容易。

    关于您关于安全存储的问题:如果您在 iOS 上使用使用钥匙串的flutter secure storage plugin,则应通过 iCloud 跨设备同步。

    【讨论】:

      【解决方案2】:

      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 才能完成这项工作?还是没有它也可以工作?
      • @LOLWTFasdasdasdad 它应该可以在没有AutofillGroup 的情况下工作,但如果你使用它,用户体验会更好。阅读更多关于它的信息here
      • 我仍然无法自动填充任何内容。
      • 我解决了迁移到flutterEmbedding v2,非常感谢stackoverflow.com/a/64861651/9815944
      【解决方案3】:

      我在同一页面上的电子邮件输入和密码输入都有自动填充功能。自动填充仅显示在密码字段中。

      我必须将 TextField 包装在 AutoFillGroup 中,以便它们同时显示!

      【讨论】:

        猜你喜欢
        • 2021-09-07
        • 2019-02-09
        • 2023-01-10
        • 1970-01-01
        • 2019-04-05
        • 2010-11-29
        • 2021-07-30
        • 1970-01-01
        • 2014-10-21
        相关资源
        最近更新 更多