【问题标题】:Form data disappears on scroll Flutter表单数据在滚动颤振上消失
【发布时间】:2018-08-14 00:32:53
【问题描述】:

我已经实现了一个带有几个 TextFormFields 的表单。当我滚动表单时,视图外的 TextFormFields 会丢失输入的数据。 here 已经发布了一个类似的问题。我不知道如何使用 TextEditingController 来保存状态,因为我对 Dart 和 Flutter 还很陌生。 我什至尝试在github repo 之后使用 FormFieldStatePersistor。那也没用。关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: forms dart textfield flutter


    【解决方案1】:

    对于任何寻找快速答案的人@Mahi 的帖子:使用 SingleChildScrollView 和 Column 而不是 ListView:

    Form(
      key: _formKey,
      child: SingleChildScrollView(
         child: Column(
         .....
    

    【讨论】:

      【解决方案2】:

      我在 github here 上的这个链接中提供了一个解决方案。是的,@HemanthRaj 使用 TextEditingControllers 绝对正确,但如果您在 ListView 中有这么多字段,则此方法不起作用,因为 ListView 仅加载要显示的字段并在滚动时清除这些字段看法。我在提供的链接中解释了一个适当的解决方案。请检查一下,该解决方案完美运行。

      问候, 鲯鳅

      【讨论】:

      • 感谢您的帮助。
      【解决方案3】:

      在包含Form 的视图中创建一个TextEditingController。然后将其传递给TextFormFieldcontroller 属性。

      例子:

      // Create a controller for username field
      TextEditingController _userController = new TextEditingController();
      

      然后

      new TextFormField(
          controller: _userController,
          decoration: new InputDecoration(
            ...
          ),
      )
      

      希望有帮助!

      【讨论】:

      • 我尝试做同样的事情,但这不会将输入的值保存在滚动上。
      • 你在哪里定义 TextEditingController
      • 在 statefull 小部件的子类中。 class _SignUpState extends State<SignUp> { .... static final TextEditingController _userID = new TextEditingController(); static final TextEditingController _firstName = new TextEditingController(); static final TextEditingController _lastName = new TextEditingController(); static final TextEditingController _email = new TextEditingController(); static final TextEditingController _password = new TextEditingController(); static final TextEditingController _confirmPassword = new TextEditingController(); .......
      猜你喜欢
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多