【发布时间】:2020-03-23 02:00:16
【问题描述】:
我正在尝试创建一个自定义文本字段,以便我可以轻松地仅在一个地方更改设计。问题是,我不知道如何在这个自定义文本字段中添加 onchange 属性,只要它提供。有人可以告诉我如何做到这一点。仅供参考,这个 onchange 属性是可选的。下面是我的代码。
自定义文本字段:
class CustomTextFieldOutline extends StatelessWidget {
CustomTextFieldOutline(
{@required this.label,
@required this.controller,
@required this.isObscureText,
@required this.isValid,
@required this.invalidMsg});
final String label;
final TextEditingController controller;
final bool isObscureText;
final bool isValid;
final String invalidMsg;
@override
Widget build(BuildContext context) {
return TextField(
decoration: InputDecoration(
labelText: label,
errorText: isValid ? null : invalidMsg,
errorStyle: TextStyle(color: constant.colorWhite),
labelStyle: TextStyle(color: constant.colorWhite),
errorBorder: UnderlineInputBorder(
borderSide: BorderSide(color: constant.colorWhite),
),
focusedErrorBorder: UnderlineInputBorder(
borderSide: BorderSide(color: constant.colorWhite),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: constant.colorWhite),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: constant.colorWhite),
)),
style: TextStyle(color: constant.colorWhite),
controller: controller,
obscureText: isObscureText,
);
}
}
文本字段:
CustomTextFieldOutline(
label: constant.email,
controller: _emailSignUpController,
isValid: _isEmailValid,
invalidMsg: _emailValidMsg,
isObscureText: false,
)
【问题讨论】: