来自 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 );
}