
微信交流群
# ValueListenableBuilder ValueNotifier
在开发应用程序的时候有些数据是全局的,贯穿整个应用程序,比如用户信息,我们希望当这些数据发生变化时,应用程序任何页面的数据都更新,ValueListenableBuilder组件就是解决此问题的。
基本用法如下:
ValueNotifier<String> _name = ValueNotifier<String>('');
ValueListenableBuilder(
builder: (context, value, child) {
return Text(value);
},
valueListenable: _name,
child: Text('未登录'),
);
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
说明如下:
builder
:在数据发生变化时调用,共有3个参数,分别表示context、数据新的值、子控件。valueListenable
:监听到数据,数据类型为ValueNotifier。child
:此参数将会回传给builder
,可以为null。
更新数据用法如下:
_name = ValueNotifier<String>('老孟'); //错误用法
_name.value = '老孟';
1
2
2
注意这2种写法,第一种是错误的。
版权所有,禁止私自转发、克隆网站。