Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 当键盘显示然后消失时,颤振会重新启动文本字段的状态_Dart_Flutter_Scoped Model - Fatal编程技术网

Dart 当键盘显示然后消失时,颤振会重新启动文本字段的状态

Dart 当键盘显示然后消失时,颤振会重新启动文本字段的状态,dart,flutter,scoped-model,Dart,Flutter,Scoped Model,所以我正在研究一个具有作用域的_模型的文本字段。我将控制器移动到Model类,并尝试使用用户在所述TextField上输入的文本更改文本的状态。但是当我关闭键盘时,状态改变,文本字段现在为空,因此文本小部件上也看不到任何内容。这是我的代码: CupertinoTextField( controller: model.lastNameController, onChanged: (text) => model.changeShortLastNameState(lastName: te

所以我正在研究一个具有作用域的_模型的文本字段。我将控制器移动到Model类,并尝试使用用户在所述TextField上输入的文本更改文本的状态。但是当我关闭键盘时,状态改变,文本字段现在为空,因此文本小部件上也看不到任何内容。这是我的代码:

CupertinoTextField(
  controller: model.lastNameController,
  onChanged: (text) => model.changeShortLastNameState(lastName: text),
),
这是我模型上的相关代码

final lastNameController = TextEditingController();

void changeShortLastNameState({String lastName}) {
  var splitLastName = lastName.split(' ');
  var shortLastName = splitLastName[0];
  this.shortLastName = shortLastName;
  notifyListeners();
}

我在网上找到了一个有同样问题的人,但他们把他送到了SO,我没有成功地找到同一个人的问题。有人知道如何解决这个问题吗?谢谢。

使用文本编辑控制器在构建外的减速功能。

使用文本编辑控制器在构建外的减速功能。

每当发生“onChanged”时,使用模型中的流来更新小部件。我对颤振相当陌生。你知道scope_模型和Streams的一个例子吗?每当发生“onChanged”时,在你的模型中使用一个流来更新小部件。我对Flatter是相当陌生的。你知道一个关于scope_模型和Streams的例子吗?