首页 > 解决方案 > Flutter - 当长度大于或小于 0 时启用/禁用按钮

问题描述

我正在寻找要启用或禁用的按钮,同时我在 textField 中写作。如果文本的长度大于 0,我需要启用按钮。

  final myController = TextEditingController();
  static var nameProduct;

  @override
  void initState() {
    super.initState();
  }

  return Dialog(
    shape: RoundedRectangleBorder(),
    child: Container(
      child: Stack(
        children: <Widget>[
          Container(child: Center(
            child: Column(
              children: <Widget>[
                TextField(
                  autofocus: true,
                  controller: myController,
                  onChanged: (String text) {
                    nameProduct = text;
                  },
                ),
                Padding(
                  child: Row(
                    children: <Widget>[
                      Container(
                        child: RaisedButton(
                          onPressed: (nameProduct.isNotEmpty)
                                            ? () => {
                                                  Navigator.of(context)
                                                      .pop(false),
                                                  myMethod()
                                                }
                                            : null,
                        ),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        )
      ],
    ),
  ));

使用我在这里发布的代码,它对我不起作用。谢谢

标签: flutterdart

解决方案


不会再次调用 build 方法来执行重绘。

你可以setState(() {});这样使用:

onChanged: (String text) {
   setState(() {
      nameProduct = text;
   });
},

推荐阅读