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

时间:2020-09-04 20:18:05

标签: flutter dart multi-select flutter-state

我有多个多选下拉菜单,这些下拉菜单中有重复的选项。 下拉列表示例1-选项[A,B,C,D] 下拉菜单2-选项[D,E,F,G] 因此,我想在第一个下拉菜单中选择选项A,D时,也同时选择第二个下拉菜单的选项D。

问题是FlutterMultiChipSelect(程序包:flutter_multi_chip_select)小部件未提供诸如on_selection / on_change之类的任何事件,在该事件中我可以编写代码来更改其他multiselect下拉列表的选择。它在内部管理选择更改。

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需要引用列表。所以我不能明确地打电话给二传手。

1 个答案:

答案 0 :(得分:0)

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