flutter 保持页间状态抖动

sdnqo3pr  于 2023-03-31  发布在  Flutter
关注(0)|答案(1)|浏览(117)

我需要帮助管理页面之间的状态。.在第一页我更新我的Map更改值。当我打印这个值它的工作,但在我的其他页面的值仍然是我给的第一个值。.我怎么做,以保持这个值,即使在我的第二页?
设置状态:我根据用户的输入将颜色的值更新到Map中

if (country.containsKey(guess)) {
                    setState(() {
                      _countryName.add(guess);
                      countries_info[guess]!["color"] = "Colors.green";

第二页:这里我想根据我在第一个文件中更改的值来更改文本的颜色

Widget build(BuildContext context) {
    return Expanded(
      child: GridView.builder(
          itemCount: continentCountry.length,
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 3,
              crossAxisSpacing: 3,
              mainAxisSpacing: 3,
              childAspectRatio: 5),
          itemBuilder: (BuildContext context, int index) {
            return Container(
              decoration: BoxDecoration(
                border: Border.all(width: 3, color: splashBackground),
                color: purpleList,
              ),
              alignment: Alignment.center,
              height: 10,
              child: Text(continentCountry[index], style: setColors()),
            );
          }),
    );
  }
}

setColors() {
  for (final value in countries_info.values) {
    print(value["color"]);
    if (value["color"] == "Colors.green") {
      return TextStyle(color: Colors.green);
    } else {
      return TextStyle(color: Colors.red);
    }
  }
}

相关问题