addTextFormField method
void
addTextFormField({
- String? key,
- String? labelText,
- InputDecoration? inputDecoration,
- TextInputType? inputType,
- bool? obscureText,
添加一个输入框表单项。
Implementation
void addTextFormField(
{String? key,
String? labelText,
InputDecoration? inputDecoration,
TextInputType? inputType,
bool? obscureText}) {
final TextStyle _style = TextStyle(color: _textColor);
final OutlineInputBorder _focusedBorder = _outlineInputBorder.copyWith(
borderSide:
BorderSide(color: Theme.of(context).primaryColor, width: 2.0));
final OutlineInputBorder _enabledBorder = _outlineInputBorder.copyWith(
borderSide: BorderSide(color: _borderEnableColor));
InputDecoration _defaultInputDecoration = InputDecoration(
labelText: labelText ?? "Label",
// 如果没有Label,errorBorder就不是roundborder
labelStyle: _style,
hintStyle: _style.copyWith(color: _hintColor),
helperStyle: _style,
border: kOutLineInputBorder,
focusedBorder: _focusedBorder,
enabledBorder: _enabledBorder,
);
if (inputDecoration != null) {
// 设置默认配色
_defaultInputDecoration = inputDecoration.copyWith(
labelStyle: _style,
hintStyle: _style.copyWith(color: _hintColor),
helperStyle: _style,
border: kOutLineInputBorder,
focusedBorder: _focusedBorder,
enabledBorder: _enabledBorder,
);
}
Widget _widget = Padding(
padding: kVerticalPaddingTen,
child: TextFormField(
keyboardType: inputType,
style: _style,
obscureText: obscureText ?? inputType == TextInputType.visiblePassword
? true
: false,
autofocus: true,
decoration: _defaultInputDecoration,
validator: (value) {
// 验证
if (value == null || value.isEmpty) {
return "Please input it.";
}
return null;
},
onSaved: (value) {
maps[key ?? 'field${maps.length}'] = value;
// print("onSaved");
},
),
);
_children.add(_widget);
}