“flutter”一个设置状态不会在flutter Web上重新呈现

js4nwp54  于 2023-06-30  发布在  Flutter
关注(0)|答案(1)|浏览(130)

大多数基本的setState函数不会重新呈现我的Web应用程序。谁能告诉我这个setState代码有什么问题吗?类似的代码在我的android和ios应用程序上运行得很好。

Widget build(BuildContext context) {
Map<String, dynamic> testMap = {"one": 5, "two": 3};
String wow = "wow";
return Scaffold(
  body: Column(
    children: [
      Text(testMap.toString()),
      Text(wow),
      ElevatedButton(
          onPressed: () {
            setState(() {
              testMap = SplayTreeMap<String, dynamic>.from(testMap, (k1, k2) => testMap[k1].compareTo(testMap[k2]));
              wow = "hey";
            });
            print(testMap.toString());
          },
          child: const Text("sort"))
    ],
  ),
);
}

我提前道歉,我知道这个问题已经被问了很多次,但因为我甚至找不到任何问题与我的代码,我需要帮助。

voase2hg

voase2hg1#

当您使用setState时,它将重建小部件,这意味着build将再次被调用
在build方法中,每次执行build时都要分配变量,这就是为什么值不会改变的原因。
你得把那个拿出来。

相关问题