Flutter-“文本编辑”控制器为空,但Flutter认为存在值吗?

TJ米奇95

我正在尝试在Web应用程序中实现“忘记密码”功能。

我有一个电子邮件文本编辑控制器作为输入字段,还有一个提升的按钮,该按钮最终会将值推入我的忘记密码功能。

为了处理错误,我尝试实现一个if语句,以确保如果文本字段为空,则不发送请求。

但是,在测试块时,Flutter似乎认为文本字段中存在一个值,而我没有实际输入任何内容?有人可以解释我要去哪里错吗?谢谢。这是我的代码:

  class ForgotPasswordScreen extends StatelessWidget {
  final TextEditingController forgotPasswordController =
      TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Forgot Password'),
        ),
        body: Center(
          child: Container(
            width: MediaQuery.of(context).size.width * 0.5,
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                TextFormField(
                  controller: forgotPasswordController,
                  decoration: InputDecoration(
                      hintStyle: TextStyle(color: Colors.grey),
                      border: OutlineInputBorder()),
                ),
                Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: ElevatedButton(
                      onPressed: () {
                        try {
                          if (forgotPasswordController.value != null) {
                            print('Success');
                          } else {
                            print("fail");
                          }
                        } catch (e) {
                          print(e);
                        }
                      },
                      child: Text('Send reset link')),
                )
              ],
            ),
          ),
        ));
  }
}
提尔·帕特尔

默认情况下,值为TextEditingController,而不是null

.value不是字符串。这是TextEditingValue的实例,不能为null。这就是为什么else使用.isEmptyon,.text因为它返回String。

if (forgotPasswordController.text.isNotEmpty) {
   // pass
} else {
   // fail
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flutter:如何在另一个字段中将其他值(对象)分配为文本编辑控制器?

来自分类Dev

Flutter设置文本字段光标在更改控制器文本时启动

来自分类Dev

Flutter,2个动画控制器导致错误

来自分类Dev

滚动控制器未监听Flutter中的滚动

来自分类Dev

UnimplementedError(FLUTTER)

来自分类Dev

使用 Flutter 控制 Arduino

来自分类Dev

Flutter在`flutter`命令上失败

来自分类Dev

从TextWidget flutter获取文本

来自分类Dev

Flutter将文本保存在textfielf中

来自分类Dev

Flutter快照数据为空

来自分类Dev

Flutter SteamBuilder snapshot.data为空

来自分类Dev

Flutter SteamBuilder snapshot.data为空

来自分类Dev

QuerySnapshot过滤器为空-Flutter

来自分类Dev

Flutter:保存TextField值

来自分类Dev

从showTimePicker Flutter提取的值

来自分类Dev

Flutter:图标!=空值不正确

来自分类Dev

Flutter:在无状态小部件中创建动画控制器

来自分类Dev

如何在Flutter中通过提供者使用textEditiing控制器

来自分类Dev

如何将参数传递给Mobx控制器(Flutter)

来自分类Dev

在Flutter GetX中使用没有控制器的可观察变量

来自分类Dev

控制器如何以交错动画的形式增加刻度线的数量(Flutter)

来自分类Dev

如何在 ExpansionTile Flutter 中使用动态 TextField 控制器

来自分类Dev

Flutter:垂直文本小部件

来自分类Dev

Flutter-LinearProgressIndicator中的文本

来自分类Dev

Flutter:如何指定文本的位置?

来自分类Dev

Flutter TextField在顶部对齐文本

来自分类Dev

Flutter不会重建文本

来自分类Dev

Flutter:打开文本作为链接

来自分类Dev

返回当前位置的文本Flutter