如果条件满足,Dart将元素添加到数组中

时间:2020-07-13 01:56:40

标签: flutter dart

我正在使用FormBuilderFilterChip输入来选择多个值。我想做的是,如果选择了值,则将元素添加到特定数组中,并删除未选择值的元素。这是我的代码:

List<dynamic> produce = [];
final crops = ["Sesame Seeds","Cocoa"];

final livestock = ["Sheep","Chicken","Small Ruminants"];

final aquaculture = ["Catfish", "tilapia", "carp"];

     FormBuilderFilterChip(
                    attribute: "farming_type",
                    decoration: InputDecoration(labelText: "Farming Type"),
                    options: [
                      FormBuilderFieldOption(
                          child: Text("Crops"), value: "crops"),
                      FormBuilderFieldOption(
                          child: Text("Livestock"), value: "livestock"),
                      FormBuilderFieldOption(
                          child: Text("Aquaculture"), value: "aquaculture"),
                    ],
                    onChanged: (value) {
                      setState(() {
                        farmingType = value;
                        if (farmingType.contains('crops')) {
                          produce.addAll(crops);
                        } else if (farmingType.contains('livestock')) {
                          produce.addAll(livestock);
                        } else if (farmingType.contains('aquaculture')) {
                          produce.addAll(aquaculture);
                        } else {
                          produce.clear();
                        }
                      });
                      print(produce);
                    },
                    validators: [
                      FormBuilderValidators.required(),
                    ],
                  ),

结果:农产品仅通过农作物不断更新。我该怎么办?

0 个答案:

没有答案
相关问题