重置Flutter中的变量

hmmo2u0o  于 2023-01-14  发布在  Flutter
关注(0)|答案(2)|浏览(137)

希望这是一个简单的问题,但我对Flutter完全是个新手。我想知道如何将一个小部件的变量重置为默认值,比如当一个按钮被按下时。我知道我可以硬编码它(就像我在下面的例子中所做的那样),但肯定有一个更聪明的方法可以简单地将它重置为默认值,而不必显式地将它设置为相同的值?
谢谢你的帮助!

class WidgetTest extends StatefulWidget {
  static const String id = 'widgettest_screen';
  @override
  _WidgetTestState createState() => _WidgetTestState();
}

class _WidgetTestState extends State<WidgetTest> {
  int _variable = 0;

  @override
  Widget build(BuildContext context) {
    return Container(
      child: Column(
        children: <Widget>[
          Text('$_variable'),
          IconButton(
            icon: Icon(
              Icons.add,
            ),
            onPressed: () {
              setState(() {
                _variable++;
              });
            },
          ),
          IconButton(
            icon: Icon(
              Icons.refresh,
            ),
            onPressed: () {
              setState(() {
                _variable = 0;
              });
            },
          )
        ],
      ),
    );
  }
}
xdnvmnnf

xdnvmnnf1#

当使用新的Key重建StatefulWidget时,将构造新的State
类似问题的示例实现可以在this answer中找到。
或者,flutter_phoenix package也可用于此目的。

kcugc4gi

kcugc4gi2#

setState(() {
                _variable = null;
              });

相关问题