Flutter禁止按钮点击

    技术2022-07-12  85

            在app开发的过程中,我们经常会用到这么一种场景:根据用户输入的内容,改变按钮的背景色和是否能点击的状态,这个需求在iOS中实现起来非常简单,设置UIButton的enabled属性和backgroundColor即可。但是在Flutter中如何实现呢?

           查看Flutter的文档可以发现这么一个属性:disableColor属性即不可点击时候的颜色,那么如何让按钮不可点击呢,我们看到这个属性,肯定首先想到的是按钮的disable属性,但是查了文档之后,发现并没有这个属性.

          试试其他看看其它的属性吧,知道发现了下面的文档:

    /// Called when the button is tapped or otherwise activated. /// /// If this callback and [onLongPress] are null, then the button will be disabled. /// /// See also: /// /// * [enabled], which is true if the button is enabled. final VoidCallback onPressed;

            原来Flutter中,当onPressed设置为null的时候,按钮就不能点击了。这个操作厉害了,有点反常规啊!

           知道了这个属性,不难想到解决方案:设置一个变量保存按钮是否可以点击的状态,在TextField的onChanged方法中调用setState方法,设置这个变量,然后根据变量设置onPressed即可完美解决这个问题!这里代码太少,就不贴了。纪念下!

    Processed: 0.012, SQL: 9