根据Flutter中的文本字段启用/禁用升高按钮

时间:2019-12-24 18:43:08

标签: flutter dart flutter-layout

我想在textformfield不为空时启用按钮,而在textformfield为空时禁用按钮。

bool isEnabled = false;
  TextEditingController _textEditingController = TextEditingController();
RaisedButton(
                // disabledColor: Colors.grey,
                child: Text("Click"),
                onPressed: () {
                  setState(() {
                    if (_textEditingController.text.isNotEmpty) {
                      isEnabled = true;
                    } else
                      isEnabled = false;
                  });
                })

1 个答案:

答案 0 :(得分:1)

现在,您的操作有误,因为您无法使用onPressed启用禁用的按钮。

应该这样做, 在TextFormField内部,将isEnabled设置为true的值是输入文本长度大于零,否则为false

        TextFormField(
            onChanged: (text) {
                setState(() {
                  if(text.length>0)
                     isEnabled=ture;
                  else
                     isEnabled=false;
                  });
            }

然后禁用/启用这样的按钮

onPressed: isEnabled?
    (){
     //do something
   } 
: null;// or pass blank (){}