Я использую ввод 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 об этом?