InputDecoration errorText должен быть постоянным

[дарт] Неверное значение константы. [дарт] Аргументы постоянного создания должны быть постоянными выражениями.

Я хочу сделать DropdownButton, но errorText принимает только постоянную переменную.

 [дарт] Неверное значение константы.
[дарт] Аргументы постоянного создания должны быть постоянными выражениями. 

Постоянная переменная означает, что я не могу заменить другим текстом.

Может быть, любой другой способ сделать валидацию DropdownButton?

String errorGender = null;

    var _inputGender = InputDecorator(
      decoration: const InputDecoration(labelText: 'Gender', errorText: errorGender),
      isEmpty: data['gender'] == null,
      child: DropdownButtonHideUnderline(
        child: ButtonTheme(
          alignedDropdown: true,
            child: DropdownButton(
              isDense: true,
              value: data['gender'],
              onChanged: (value) => setState(() => data['gender'] = value),
              items: _gender.map((value) {
                return DropdownMenuItem(
                  value: value,
                  child: Text(value[0].toUpperCase() + value.substring(1)),
                );
              }).toList()
            )
        )
      )
    );

1 ответ

Решение

Удалить const до InputDecoration

decoration: InputDecoration(labelText: 'Gender', errorText: errorGender)
Другие вопросы по тегам