InputDecoration errorText 必须是常量
InputDecoration errorText must be constant
[dart] 无效常量值。
[dart] 常量创建的参数必须是常量表达式
我想制作 DropdownButton ,但是 errorText 只接受常量变量。
[dart] Invalid constant value.
[dart] Arguments of a constant creation must be constant expressions.
常量变量意味着我不能用其他文本替换。
也许还有其他方法可以验证 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()
)
)
)
);
删除 InputDecoration
之前的 const
decoration: InputDecoration(labelText: 'Gender', errorText: errorGender)
[dart] 无效常量值。 [dart] 常量创建的参数必须是常量表达式
我想制作 DropdownButton ,但是 errorText 只接受常量变量。
[dart] Invalid constant value. [dart] Arguments of a constant creation must be constant expressions.
常量变量意味着我不能用其他文本替换。
也许还有其他方法可以验证 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()
)
)
)
);
删除 InputDecoration
const
decoration: InputDecoration(labelText: 'Gender', errorText: errorGender)