Дротик добавляет элементы в массив, если условие выполнено - PullRequest
0 голосов
/ 13 июля 2020

Я использую ввод 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(),
                    ],
                  ),

Результат: продукция продолжает обновляться только с урожаем. Как мне go об этом?

...