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)