【问题标题】:How To Add OnChange In Custom Textfield如何在自定义文本字段中添加 OnChange
【发布时间】: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,
            )

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您可以将函数作为参数传入自定义文本字段。声明一个名为Function onPressed 的属性,因此您的构造函数将如下所示:

     CustomTextFieldOutline(
          {@required this.label,
          @required this.controller,
          @required this.isObscureText,
          @required this.isValid,
          @required this.invalidMsg,
          @required this.onPressed
    });
    

    通过这样做,您可以通过为每个自定义文本字段定义自定义函数来获得自定义 onChanged 功能。希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多