I am using FormBuilderFilterChip input to select multiple values. What I am trying to do is add elements into a particular array if a value is selected and remove elements whose values are unselected. Here is my code:

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(),
                    ],
                  ),

The result : The produce keeps updating with only crops. How do I go about this?