首页 > 解决方案 > 多次使用 TextEditingController

问题描述

TextEditingController我是否必须为每个TextField 示例创建多个

var oneController = TextEditingController();
var twoController = TextEditingController();

然后

TextField(
   controller: oneController,
   decoration: new InputDecoration(labelText: "add type *income"),
),
TextField(
   controller: twoController,
   decoration: new InputDecoration(labelText: "Enter a number"),
   keyboardType: TextInputType.number,
),

或者有没有办法只使用一个?

标签: flutterdart

解决方案


TextEditingController我必须为每个创建多个TextField吗?

是的。控制器允许您控制和访问该字段的当前状态,

在这种情况下,它允许您知道当前用户输入的内容,因此您可以读取或更改该值,并允许您选择或查看用户选择的内容。它还可以为每个字段提供一个初始值。

如果你使用同一个控制器,同样的事情会同时发生在两个 TextField 中,例如,当用户在一个字段上键入一个字母时,它也会显示在另一个字段上。

如果您有一个表单或太多字段,您可能希望使用其他解决方案,例如TextFormField,也可以在没有控制器的情况下使用它来一次验证和保存表单小部件内的多个字段的用户输入。

更多关于TextEditingController docs 的信息。


推荐阅读