【问题标题】:Make Stateful Widget inside a Stateless Class在无状态类中制作有状态小部件
【发布时间】:2021-10-05 03:40:11
【问题描述】:

是否可以使文本小部件有状态,以便在我按下按钮而不让我的类成为有状态的情况下更改文本? 示例:

class Rangliste extends StatelessWidget{.... Text(Test), Text(Test2)....}

Test 和 Test2 是字符串。

所以当我按下按钮时,文本小部件内的值应该会改变。有没有办法在不将我的类更改为有状态的情况下实现这一目标?或者,如果没有,有人可以解释我如何将 Class 更改为 Stateful 而不会弄乱我的代码的其余部分

【问题讨论】:

  • 在这种情况下我更喜欢statemanagement,

标签: flutter dart statefulwidget


【解决方案1】:

不,你不能,无状态小部件是不可变的小部件,不能对状态变化做出反应并重新渲染,你将不得不使用某种形式的状态管理。

如果您的按钮和您的文本以及您的数据都在同一个小部件中,那么最好使您的小部件有状态并使用setState(() {}) 更改您的文本并重新呈现。

您可以使用 Flutter 插件将您的小部件从 Stateless 小部件转换为 StatefulWidget,该插件将处理一切。

【讨论】:

  • ValueNotifier 怎么样?即使是Stateless 小部件,我们也可以使用ValueNotifier 或ChangeNotifier 更改值
  • 是的,我们可以使用它并设置一个ValueListenableBuilder 来监听变化。虽然我认为在这种情况下使用Stateful 小部件是最简单的。
  • 我在原始答案中这样做了。对我来说很好,谢谢:)
猜你喜欢
  • 2021-12-15
  • 2021-06-11
  • 2018-09-01
  • 2021-02-16
  • 2020-03-10
  • 2020-10-19
  • 2021-09-21
  • 2020-01-23
  • 2021-05-19
相关资源
最近更新 更多