首页 > 解决方案 > setState() 在 statefulWidget 类中无法识别

问题描述

class DataItem extends StatefulWidget {
  @override
  String number;

  void setNumber(String nu){
    setState(() {
      this.number=nu;
    });
  }

  _DataItemState createState() => new _DataItemState(this.number);
}

class _DataItemState extends State<DataItem> {
  @override

  String number;

  _DataItemState(this.number);
  Widget build(BuildContext context) {
    return new Container(
      child: Text(
          number,
        style: TextStyle(...),
    );
  }
}

截屏

请注意,我得到的 setState() 没有在 StatefulWidget (DataItem) 中使用上述设置进行定义,但是我想要按照随附的屏幕截图进行操作。按下按钮后,我需要相应地更新标签。

标签: flutter

解决方案


这是一种导出将改变状态的函数的方法。

这是一个简单的反例,但您应该能够使用它执行更复杂的状态更改。

https://dartpad.dev/6d43e30eb6febfcf7ad0eec8555035db


推荐阅读