ValueListenableBuilder 局部刷新
来源:laomengit.com 更新时间:2023-05-25 21:55
更详细介绍:
https://cloud.tencent.com/developer/article/1768428
http://laomengit.com/flutter/widgets/ValueListenableBuilder.html
ValueListenableBuilder ValueNotifier
在开发应用程序的时候有些数据是全局的,贯穿整个应用程序,比如用户信息,我们希望当这些数据发生变化时,应用程序任何页面的数据都更新,ValueListenableBuilder组件就是解决此问题的。
基本用法如下:
ValueNotifier<String> _name = ValueNotifier<String>('');
ValueListenableBuilder(
builder: (context, value, child) {
return Text(value);
},
valueListenable: _name,
child: Text('未登录'),
);
说明如下:
-
builder
:在数据发生变化时调用,共有3个参数,分别表示context、数据新的值、子控件。 -
valueListenable
:监听到数据,数据类型为ValueNotifier。 -
child
:此参数将会回传给builder
,可以为null。
更新数据用法如下:
_name = ValueNotifier<String>('老孟'); //错误用法
_name.value = '老孟';
注意这2种写法,第一种是错误的。