0

我有多个多选下拉菜单,通过下拉菜单重复选项。示例 Dropdown1 - 选项 [A,B,C,D] Dropdown2 - 选项 [D,E,F,G] 所以我希望当我在第一个下拉列表中选择选项 A,D 时,第二个下拉列表的选项 D 也被选中同时。

问题是 FlutterMultiChipSelect (package: flutter_multi_chip_select) 小部件不提供像 on_selection/on_change 这样的任何事件,我可以在其中编写代码来更改其他多选下拉菜单的选择。它在内部管理选择更改。

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,
          ), 

我尝试了提供者来实现它,但提供者在我调用注册提供者的对象的设置器/获取器之前不起作用。但是 FlutterMultiChipSelect 需要对列表的引用。所以我不能明确地调用设置器。

4

1 回答 1

0

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

于 2021-01-01T01:27:52.583 回答