在Flutter中当状态发生改变的时候,Widget会重新build刷新页面。但是当状态发生改变的时候后,我们指向让有关联的Widget重绘,与之无关的Widget保持不变,比如对于登录页面,有用户名和密码两个组件:如下图。
构建代码如下:
当我们输入用户名的时候,仅仅希望_UserNameInput
组件重绘,而_PasswordInput
组件不重绘,该怎么做到呢?buildWhen
就在此发挥了作用,在用输入用户名的时候,密码是没有变化的,所以我们当且仅当密码变化的时候在重绘_PasswordInput
组件接口,所以_PasswordInput
写法如下:
同理当我们输入密码的时候不希望_UserNameInput
重绘,那么就可以这么做:
其中LoginState起到了保存用户名和密码的作用:文章来源地址https://www.toymoban.com/news/detail-523379.html
文章来源:https://www.toymoban.com/news/detail-523379.html
到了这里,关于Flutter Bloc组件buildWhen的妙用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!