首页 > 解决方案 > Flutter:有多少听众?

问题描述

我目前正在制作一个简单的 POS 应用程序。当我正在编写向菜单添加新项目的代码时。我考虑了页面上可能出现的听众数量。我决定选择多个个人,TextFormField因为用户可以决定他们想提供多少额外的配料;每个额外的浇头都会有自己TextFomField输入的相关数据。TextFormField 的示例结构(写在 initState() 内部)

每个 TextFormField 都会在每次焦点更改时将其值保存到一个变量中。我担心的是,如果他们决定添加 5 个浇头,那么我将有 5 个活跃的听众。所以,我想知道我应该拥有的听众数量的一个好的限制是什么,是否有更好的解决方案来解决我的问题(而不是使用焦点更改)。

标签: flutterlistener

解决方案


您不必担心几个听众。5 无论如何都不是一个相关的数字。如果您添加侦听器,请确保在删除小部件时处理掉它们。确保在您的 Widget 中为每个具有侦听器的 FocusNode / Controller 提供它。

@override
  void dispose() {
    // Clean up the controller when the widget is removed from the
    // widget tree.
    _nameFocusNode.dispose();
    super.dispose();
  }

另一种方法是使用该onChanged属性。你可以像这样使用它

TextFormField(onChanged: _updateName);

推荐阅读