来自 2 个列表的映射列表颤动
Mapping Lists from 2 lists flutter
我拥有的选项示例:
我有 2 个列表,第一个名为选项:
List<String> _options = [
'Arts & entertainment',
'Biographies & memoirs',
...
];
和另一个名称 _isOptionSelected:
List<bool> _isOptionSelected = [
false,
false,
..
];
我正在尝试从这两个列表生成地图。
我试过的是:
Map<String, Map<String, dynamic>> _isOptionMap = {
'Arts & entertainment': {
'optionName': 'Arts & entertainment',
'isOptionSelected': false,
},
'Biographies & memoirs': {
'optionName': 'Biographies & memoirs',
'isOptionSelected': false,
},
..
};
然后打印出来:
for (int i = 0; i < _isChoiceChipSelected.length; i++) {
_isOptionMap[_options[i]]['isOptionSelected'].update(
_options[i],
(value) => _isOptionMap[_options[i]]
['isOptionSelected']);
}
print(_isOptionMap);
是逻辑问题?我在做什么 wong?
您好,此代码创建了一张您想要的地图。
请注意“_options”和“_isOptionSelected”列表必须具有相同的长度。
void main() {
List<String> _options = [
'Arts & entertainment',
'Biographies & memoirs',
];
List<bool> _isOptionSelected = [
false,
false,
];
Map m = {};
_options.asMap().entries.forEach((entry) {
int idx = entry.key;
String val = entry.value;
Map m1 = {
'optionName': val,
'isOptionSelected': _isOptionSelected[idx]
};
m[val] = m1;
});
print( m );
}
我拥有的选项示例:
我有 2 个列表,第一个名为选项:
List<String> _options = [
'Arts & entertainment',
'Biographies & memoirs',
...
];
和另一个名称 _isOptionSelected:
List<bool> _isOptionSelected = [
false,
false,
..
];
我正在尝试从这两个列表生成地图。
我试过的是:
Map<String, Map<String, dynamic>> _isOptionMap = {
'Arts & entertainment': {
'optionName': 'Arts & entertainment',
'isOptionSelected': false,
},
'Biographies & memoirs': {
'optionName': 'Biographies & memoirs',
'isOptionSelected': false,
},
..
};
然后打印出来:
for (int i = 0; i < _isChoiceChipSelected.length; i++) {
_isOptionMap[_options[i]]['isOptionSelected'].update(
_options[i],
(value) => _isOptionMap[_options[i]]
['isOptionSelected']);
}
print(_isOptionMap);
是逻辑问题?我在做什么 wong?
您好,此代码创建了一张您想要的地图。
请注意“_options”和“_isOptionSelected”列表必须具有相同的长度。
void main() {
List<String> _options = [
'Arts & entertainment',
'Biographies & memoirs',
];
List<bool> _isOptionSelected = [
false,
false,
];
Map m = {};
_options.asMap().entries.forEach((entry) {
int idx = entry.key;
String val = entry.value;
Map m1 = {
'optionName': val,
'isOptionSelected': _isOptionSelected[idx]
};
m[val] = m1;
});
print( m );
}