Замена повторяющегося поля для устранения — Ошибка построителя форм флаттера

#flutter #formbuilder

Вопрос:

Я использую flutter_form_builder и хочу создать динамическую форму, например, ответить » Да » или » Нет » на виджете, а затем открыть другой виджет прямо под ним.

Например: «Ел ли пациент что-нибудь?» Да/Нет. Если да, покажите виджет с флажками «Что они ели?». Рис, пицца и т. Д.

Проблема в том, что FormBuilder выдает предупреждения, когда я меняю радио диуреза: I/flutter (21285): Предупреждение! Замена дублирующего поля для действий-это нормально игнорировать, если поле было намеренно заменено I/flutter (21285): Внимание! Замена дублирующего поля для устранения-это нормально игнорировать, если поле было намеренно заменено I/flutter (21285): Предупреждение! Игнорирование отмены регистрации поля для исключения-это нормально игнорировать, если поле было намеренно заменено

Основная проблема: Итак, что происходит в пользовательском интерфейсе. Допустим, я выбираю «Sim» для карты «исключение», а затем меняю свой выбор на карте «диурез», затем появляется ошибка выше, экран перестраивается, и карта исключения отображается невыбранной.

Мой код приведен ниже. (HMClickableCard-это просто виджет, который имеет карточку и реализует внутри нее FormBuilderRadioGroup)

 Container(
            child: HMClickableCard(
                options: ["Sim", "Não"],
                label: "Diurese",
                name: "diuresis",
                icon: Icons.bathroom,
                iconSize: 30,
                onChanged: (option) {
                  _fbKey.currentState?.save();
                  setState(() {
                    switch (option) {
                      case "Sim":
                        _diuresis = true;
                        break;
                      case "Não":
                        _diuresis = false;
                        break;
                    }
                  });
                }),
          ),
            Container(
                child: FormBuilderCheckboxGroup(
              name: "diuresisAspect",
              options: [
                FormBuilderFieldOption(value: "Clara"),
                FormBuilderFieldOption(value: "Amarelo Ouro"),
                FormBuilderFieldOption(value: "Avermelhada"),
                FormBuilderFieldOption(value: "Odor forte"),
                FormBuilderFieldOption(value: "Queixa de dor ao urinar"),
              ],
              decoration: InputDecoration(
                  labelText: "Aspecto da diurese",
                  labelStyle:
                      TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
            )),
          Container(
              child: HMClickableCard(
            options: ["Sim", "Não"],
            label: "Eliminação Intestinal",
            name: "elimination",
            icon: Icons.ac_unit,
            iconSize: 30,
            onChanged: (_option) {
              _fbKey.currentState?.save();
              setState(() {
                switch (_option) {
                  case "Sim":
                    _intestinalElimination = true;
                    break;
                  case "Não":
                    _intestinalElimination = false;
                    break;
                }
              });
            },
          )),
            Container(
                child: FormBuilderCheckboxGroup(
              name: "eliminationAspect",
              options: [
                FormBuilderFieldOption(value: "Bolinhas"),
                FormBuilderFieldOption(
                    value: "Moldadas (forma de salsicha)"),
                FormBuilderFieldOption(value: "Pastosa"),
                FormBuilderFieldOption(value: "Líquida")
              ],
              decoration: InputDecoration(
                  labelText: "Aspecto da eliminação intestinal:",
                  labelStyle:
                      TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
            )),
 

Кто-нибудь знает, как это решить?
Я погуглил и смог найти только то, что связано с разными ключами (я использую только глобальный ключ для всей формы) или одно и то же имя для полей форм (что, как вы можете видеть, не так).