我需要帮助管理页面之间的状态。.在第一页我更新我的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);
}
}
}
1条答案
按热度按时间7eumitmz1#
阅读相关内容,并从所有状态管理方法中选择一种。
https://docs.flutter.dev/development/data-and-backend/state-mgmt/options