颤音:后缀图标清除按压

发布于 2025-02-09 10:29:28 字数 1304 浏览 2 评论 0原文

我有Flutter应用程序包含登录屏幕,我有两个TextField(电子邮件和密码)。 代码类似的代码:

Widget build(BuildContext context) {
    TextEditingController _email = TextEditingController();
    TextEditingController _pass = TextEditingController();
    return Column(
        chilfren:[
         emailText(_email)
         passwordText(_pass)
       ]
    );}
    //===Widgets Method
    TextFiled emailText(controller){
        return TextFiled(
         controller : _email,
         );}
    Consumer passwordText(controller){
      return Consumer<AuthProvider>(builder:(context,auth,child){
        return TextFiled( 
         obscureText: auth.isLoginPassowrdHidden,
         controller : _pass,
         suffixIcon: IconButton(
                            onPressed: () {
                              auth.showLoginFormPassword();
                            },
                            icon: Icon(
                              auth.isLoginPassowrdHidden
                                  ? Icons.visibility_outlined
                                  : Icons.visibility_off_outlined,
                              color: const Color(0xFFBDBDBD),
                              size: 18,
                            )),
         );
     });

当我按Suffixicon图标时,提交的密码文本的遮盖图显示并正确隐藏,但是电子邮件的文本很清楚。

I have Flutter app contain login screen, I have two textfield (email and password).
the code something like this :

Widget build(BuildContext context) {
    TextEditingController _email = TextEditingController();
    TextEditingController _pass = TextEditingController();
    return Column(
        chilfren:[
         emailText(_email)
         passwordText(_pass)
       ]
    );}
    //===Widgets Method
    TextFiled emailText(controller){
        return TextFiled(
         controller : _email,
         );}
    Consumer passwordText(controller){
      return Consumer<AuthProvider>(builder:(context,auth,child){
        return TextFiled( 
         obscureText: auth.isLoginPassowrdHidden,
         controller : _pass,
         suffixIcon: IconButton(
                            onPressed: () {
                              auth.showLoginFormPassword();
                            },
                            icon: Icon(
                              auth.isLoginPassowrdHidden
                                  ? Icons.visibility_outlined
                                  : Icons.visibility_off_outlined,
                              color: const Color(0xFFBDBDBD),
                              size: 18,
                            )),
         );
     });

when I press the suffixIcon icon the obscureText of password text filed show and hide correctly, but the textfiled of email be clear.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

离鸿 2025-02-16 10:29:28

在构建上下文上方声明这两行

TextEditingController _email = TextEditingController();
TextEditingController _pass = TextEditingController();
Widget build(BuildContext context) {
}

Declare this two-line above build context

TextEditingController _email = TextEditingController();
TextEditingController _pass = TextEditingController();
Widget build(BuildContext context) {
}
べ映画 2025-02-16 10:29:28

在全球声明控制器,并在以下 - 以下 -

late TextEditingController _email;
late TextEditingController _pass;

 @override
 void initState(){
  _email = TextEditingController();
   _pass = TextEditingController();
  super.initState();
}

Declare controller globally and initialize in initState method like below-

late TextEditingController _email;
late TextEditingController _pass;

 @override
 void initState(){
  _email = TextEditingController();
   _pass = TextEditingController();
  super.initState();
}
初见你 2025-02-16 10:29:28

您已经在两个函数中都获得了控制器,因此将控制器传递到

TextFiled emailText(controller){
        return TextFiled(
         controller : controller,
         );}

与密码窗口相同的TextField

you are already getting controller in both function so pass the controller to textfield

TextFiled emailText(controller){
        return TextFiled(
         controller : controller,
         );}

same as in password widget

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文