Как установить начальное значение по умолчанию в выпадающем меню - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть один выпадающий список, и внутри выпадающего меню есть какое-то значение, и мне нужно по умолчанию выбрать значение. Вы можете увидеть фрагмент фрагмента, где вы можете найти раскрывающееся значение. Мне это нужно всегда есть по умолчанию выбранное значение Normal. надеюсь, вы понимаете вопрос.

FormBuilder(
      autovalidate: autovalidate,
      child: FormBuilderCustomField(
          attribute: "Select Address",
          validators: [
            FormBuilderValidators.required(),
          ],
          formField: FormField(
            builder: (FormFieldState<dynamic> field) {
              return InputDecorator(
                decoration: InputDecoration(
                  errorText: field.errorText,
                  filled: false,
                  isDense: true,
                  border: InputBorder.none,
                  icon: Container(
                    width: 50.0,
                    height: 50.0,
                    decoration: BoxDecoration(
                      borderRadius: BorderRadius.circular(20.0),
                      color: colorStyles['primary_light'],
                    ),
                    child: Icon(
                      Icons.business_center,
                      color: colorStyles['primary'],
                    ),
                  ),
                ),
                isEmpty: _typeValue == [],
                child: new DropdownButtonHideUnderline(
                  child: DropdownButton(
                    hint: Text("Service Type"),
                    isExpanded: true,
                    items: [
                      "normal",
                      "urgent",
                      "emergency",
                    ].map((option) {
                      return DropdownMenuItem(
                        child: Text("$option"),
                        value: option,
                      );
                    }).toList(),
                    value: field.value,
                    onChanged: (value) {
                      field.didChange(value);
                      _serviceType = value;
                    },
                  ),
                ),
              );
            },
          )),
    );

1 Ответ

1 голос
/ 24 февраля 2020

Just Asign для initState ()

selectedDropDownValue = "normal";

В DropDown, asign selectedDropDownValue со значением и обновление при обратном вызове onChanged

new DropdownButtonHideUnderline(
              child: DropdownButton(
                hint: Text("Service Type"),
                isExpanded: true,
                items: [
                  "normal",
                  "urgent",
                  "emergency",
                ].map((option) {
                  return DropdownMenuItem(
                    child: Text("$option"),
                    value: option,
                  );
                }).toList(),
                value: selectedDropDownValue, //asign the selected value
                onChanged: (value) {
                setState((){
                 selectedDropDownValue = value; //on selection, selectedDropDownValue i sUpdated
                  });
                },
              ),
            ),
          );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...