setState 没有帮助重建小部件树

时间:2021-07-12 11:39:34

标签: flutter

    class _BodyState extends State<Body> {
  @override
  Widget build(BuildContext context) {
    return Container(
        child: SingleChildScrollView(
      child: Column(
        children: [
          Card(
              color: Colors.pink[50],
              elevation: 80,
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [Text("Total Income:$b"), Text("Total Expenses: $a")],
              )),
          FinalList(),
        ],
      ),
    ));
  }
}

我有这个代码,我有一个在其他文件中实现的有状态小部件 FinalList。当列表更新时,我也想更改其显示。但我无法做到这一点。我尝试创建一个函数并调用 set state 但它什么也没返回。然后我删除了设置状态,只是尝试返回 FinalList 并没有带来任何变化。我必须返回然后重新加载页面以获取更新的列表。

1 个答案:

答案 0 :(得分:0)

让你的类 _BodyState 像 BodyState。

更改类名后,您应该在文件中初始化该类,该文件将像这样返回最终列表。

BodtState state = BodtState();

当你返回新的最终列表时只需写

state.setState(() {
      
    });

它会起作用。