Flutter Multi Select下拉菜单全选

hfsqlsce  于 2023-03-31  发布在  Flutter
关注(0)|答案(2)|浏览(465)

我使用multi_select_flutter在我的应用程序过滤器中显示多选下拉列表。现在我想添加一个选项,这将是第一个[全选],并选择它所有的选项将被选中。有没有办法做到这一点?因为我找不到任何包描述。
我阅读了软件包的文档。在谷歌上搜索了一下,但没有找到任何东西。试图更改软件包的源代码。
没有一个成功,我怎么能做到这一点呢?

0yg35tkg

0yg35tkg1#

是的,你可以在你的multi_select_flutter下拉列表中添加一个“全选”选项,只需在下拉列表中添加一个具有唯一值的附加项,将其标识为“全选”选项。然后你可以在代码中处理对该选项的选择,以选择所有其他选项。
List options = ['Option 1','Option 2','Option 3'];List selectedOptions = [];
//将“全选”选项添加到列表选项的开头。insert(0,“全选”);
//使用MultiSelectFormField或MultiSelectDialogField小部件MultiSelectFormField(autovalidateMode:AutovalidateMode.onUserInteraction,validator:(value){ if(value == null||value.isEmpty){ return '请至少选择一个选项';}返回空值;},titleText:“选择选项”,数据源:options.map((option)=〉'display':option,'value':选项}).toList(),文本字段:'display',valueField:“价值”,
ok按钮标签:“确定”,取消ButtonLabel:'CANCEL',initialValue:selectedOptions,on已保存:(value){ setState((){ selectedOptions = value;}); },onChange:(value){ setState((){ selectedOptions = value;//如果选择了“全选”,则选择所有其他选项if(selectedOptions.contains('Select all')){ selectedOptions = List.from(options).. remove('Select all');} });
},)

70gysomp

70gysomp2#

在底部工作表或对话框中添加一个按钮
全部选择
单击时,它使所有值为true或选中

await showModalBottomSheet(
   isScrollControlled: true, 
   context: context,
   builder: (ctx) {
     return Column(
             children:[
                   ElevatedButton(
                    child:Text("Select All"),
                     onPressed:(){
                       //here make all _items value true
                      }
                     ),
               MultiSelectBottomSheet(
                       items: _items,
                       initialValue: _selectedItems,
                       onConfirm: (values) {},
                       maxChildSize: 0.8,
                       )
                    ]
               );
              },
           );

相关问题