我得了TextField分.我希望它的文本不是空的.(所以我想知道文本是否为空)

我try 使用以下代码,但不起作用:

controller.text.trim().isEmpty()

我的代码是:

TextFormField(
  controller: controller,
),

controller.text.trim().isEmpty()

如何持续获取TextField的文字是否在抖动中为空?如果有任何帮助,我将不胜感激.提前谢谢您!

推荐答案

It can be done without any temporary variable using ValueListenableBuilder

在一些研究发现

  1. controller.text本身不是listenable
  2. TextEditingController扩展到ValueNotifier<TextEditingValue>,即您可以使用material 包中的ValueListenableBuilder来收听文本更改.

代码:

class _MyWidgetState extends State<MyWidget> {
  late TextEditingController textEditingController;
  @override
  void initState() {
    textEditingController = TextEditingController();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          children: [
            TextField(
              controller: textEditingController,
            ),
            ValueListenableBuilder<TextEditingValue>(
              valueListenable: textEditingController,
              builder: (context, value, child) {
                return ElevatedButton(
                  onPressed: value.text.isNotEmpty ? () {} : null,
                  child: const Text('I am disabled when text is empty'),
                );
              },
            ),
          ],
        ),
      ),
    );
  }
}

不带文本:

enter image description here

带文本:

enter image description here

Flutter相关问答推荐

无法在Flatter中设计正确的布局

build_runner显示错误没有为类ClassDeclaration定义getter宏关键字'

功能不起作用的Flutter 块复制

我有相关的下拉菜单Flutter Windows应用程序的问题

如何删除使用isscllable时出现的左边距?

无法将新文物与Flutter 项目集成在一起

尽管 onCollision 处理了我的角色还是从平台上掉了下来

Firestore 不会取代 map

Dart 和 flutter 错误无法在您的 PATH 中找到 git

无法在 Flutter 项目中安装最新版本的 image_picker

尽管海拔设置为 0,如何删除 appBar 下的下划线

为什么 ref.watch(otherProvider.stream) 在 Riverpod 2.x 中被弃用并且将在 3.x 中被删除?

如何在 Flutter 中使用 drawLine() 和 drawCircle() 绘制等距离的 4 条线

如何从 Flutter Slider Widget 中移除发光效果?

如何在 flutter 的alert 对话框中实现进度指示器?

如何在 Flutter 中使用简写 IF 禁用单选按钮?

如何获得Flutter 的时差?

如何使用 Riverpod 在运行时动态创建提供程序?

Flutter 小部件中的视图和逻辑分离

在列表视图Flutter 中 Select 下一个单选按钮时单选按钮更改