[英]Array that store color maps flutter
¿ 我们如何创建一个数组来存储 dart 中的 colors,具有这种结构样式?
"1":{
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
},
"2":{
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
},
我创建了一个 map 试图实现这一目标
Map<String, Color> btncolor = {
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
};
但它需要 3 个 arguments 才有索引,而且不可能做到。
Map<String, String, Color> btncolor = {
"1":{
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
},
"2":{
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
},
};
由于我对 Flutter 编码有点新,任何提示或帮助将不胜感激,ty。
要创建具有相同元素的 20 个元素的列表,(这里的元素是 Map Object 将字符串映射到颜色),试试这个,
Map<String,Color> btnColorMap = {
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
}
var list = List<Map>.filled(20, btnColorMap);
只需这样做,将Map<String, String, Color>
更改为Map<String, Map<String, Color>>
就好像您告诉 dart 您想要 map 地图一样。 因为 map 构造函数只需要 2 个 arguments。
所以最终的结果应该是这样的:
Map<String, Map<String, Color>> btncolor = {
"1":{
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
},
"2":{
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
},
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.