Flutter Multi Select Drop Down Select all

问题描述 投票:0回答:2

我正在使用 multi_select_flutter 在我的应用过滤器中显示多选下拉列表。现在我想添加一个选项,这将是第一个 [全选] 并且在选择它时所有选项都将被选中。有办法吗?,因为我在包装描述中找不到任何东西。

我阅读了包的文档。 用谷歌搜索但没有找到。 试图更改包的源代码。

他们都没有工作,你能告诉我或指导我如何实现这一目标吗?。

flutter dropdown multi-select flutter-packages
2个回答
0
投票

是的,您可以在 multi_select_flutter 下拉列表中添加一个“全选”选项,只需在您的下拉列表中添加一个具有唯一值的附加项,以将其标识为“全选”选项。然后,您可以在代码中处理此选项的选择,以选择所有其他选项。

List options = ['Option 1', 'Option 2', 'Option 3']; 列表 selectedOptions = [];

// 将“全选”选项添加到列表的开头 options.insert(0, '全选');

// 使用 MultiSelectFormField 或 MultiSelectDialogField 小部件 MultiSelectFormField(自动验证模式: AutovalidateMode.onUserInteraction,验证器:(值){ 如果(值== null || value.isEmpty){ return '请至少选择一个选项'; } 返回空值; }, titleText: '选择选项', dataSource: options.map((option) => {'display': option, 'value': option}).toList(), textField: '显示', valueField: '值',
okButtonLabel:“确定”,cancelButtonLabel:“取消”,initialValue: selectedOptions, onSaved: (值) { 设置状态((){ selectedOptions = 值; }); }, onChange: (值) { 设置状态((){ selectedOptions = 值; // 如果选择了“全选”,则选择所有其他选项 如果(selectedOptions.contains('全选')){ selectedOptions = List.from(options)..remove('全选'); } });

}, ),


0
投票

在底部工作表或对话框中添加一个按钮

全选

单击时,它使所有值都为真或被选中

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,
                       )
                    ]
               );
              },
           );
© www.soinside.com 2019 - 2024. All rights reserved.