在颤动多选列表中,在一个多选中选择一个项目时,应该选择具有相同项目的所有其他多选

In a List of flutter multiselect, on selecting an item in one multiselect, all other multiselects with same item should get selected

我有多个 select 下拉菜单,其中有重复的选项。 示例 Dropdown1 - 选项 [A、B、C、D] Dropdown2 - 选项 [D,E,F,G] 所以我想当我在第一个下拉列表中 select 选项 A、D 时,第二个下拉列表的选项 D 也同时得到 selected。

问题是 FlutterMultiChipSelect(包:flutter_multi_chip_select)widget 没有提供任何像 on_selection/on_change 这样的事件,我可以在其中编写代码来为其他 multi[=20] 更改 selection =] 下拉菜单。它在内部管理 select 离子变化。

final menuItems = ["A","B","C","D"];
var selectedItems = [];

FlutterMultiChipSelect(
            key: key,
            elements: List.generate(
              menuItems.length,
                  (index) => MultiSelectItem<String>.simple(
                  title: menuItems[index].toString(),
                  value: menuItems[index].toString()),
            ),
            label: "Dropdown Select",
            values: selectedItems,
          ), 

我尝试使用 Provider 来实现它,但是直到我调用注册了 Provider 的对象的 setters/getters,Providers 才起作用。但是 FlutterMultiChipSelect 需要对列表的引用。所以我不能明确地调用设置器。

我通过在 flutter 中使用 Provider 构造来进行简单的状态管理来解决它。 3 个月前,当我还是新手时,使用 set_state(){} 实现这一点真的很有挑战性。这仍然感觉具有挑战性,但感谢 Provider,现在感觉非常简单。