【问题标题】:Showing a button to the user based on the data entered in the TextFormField根据在 TextFormField 中输入的数据向用户显示一个按钮
【发布时间】:2022-12-06 01:49:31
【问题描述】:
final TextEditingController _weight = TextEditingController();

 if (_weight.text.contains(RegExp(r'[0-9]')))
        Padding(
            padding: const EdgeInsets.only(bottom: 20),
            child: BMIButton(
              onpressed: () {
                Navigator.push(
                  context,
                  PageTransition(
                      type: PageTransitionType.rightToLeft,
                      child: BMIHeight(),
                      inheritTheme: true,
                      ctx: context),
                );
              },
            ))

当用户在 textFormField 中输入一些数据时,我试图显示一个 OutlinedButton。当我在 TextFormField 中输入一个值并确认时,它没有显示按钮,但是当我热重新加载它时,它会看到该值并显示按钮。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    尝试添加监听并调用setState更新ui

     late final TextEditingController _weight = TextEditingController()
        ..addListener(() {
          setState(() {});
        });
    

    并重写 dispose 方法并释放该控制器。

    【讨论】:

    • 谢谢它的工作。
    • 很高兴为您提供帮助,为了安全起见,请务必将其处理掉。
    【解决方案2】:

    这意味着您只需要更新小部件的状态,首先确保它在StatefulWidget 中,然后在该方法的末尾添加一个SetState(() {})

    if (_weight.text.contains(RegExp(r'[0-9]')))
            Padding(
                padding: const EdgeInsets.only(bottom: 20),
                child: BMIButton(
                  onpressed: () {
                    Navigator.push(
                      context,
                      PageTransition(
                          type: PageTransitionType.rightToLeft,
                          child: BMIHeight(),
                          inheritTheme: true,
                          ctx: context),
                    );
                  },
                ))
               //...
               setState(() {}) // add this
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 2021-10-21
      • 2014-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多