flutter怎么手动刷新_Flutter 组件刷新【实战】

介绍一下数据与Widget之间传递,数据改变-->触发Widget刷新

1.0 所需工具

Provider

2.0 Provider

Provider 会在Widget和Model之间建立监听,以确保数据发生变化时刷新Widget

3.0 必要步骤:

Model 要继承ChangeNotifier

Widget要监听Model数据变化

Provider 是flutter推荐使用的状态管理工具,具体原理这里不展开分析,下面介绍一下如何快速使用,达到一个真实业务的场景.

4.0 Model创建

// 重要: model必须继承ChangeNotifier

class TestClass with ChangeNotifier {

var count = 1;

action() {

++count;

//数据变化后腰通过 notifyListeners() 通知所有监听者

notifyListeners();

}

}

4.1 监听Model

Model监听有两种方式

通过addListener方式

通过Provider.of(context)

4.1.1 通过 addListener 监听数据改变

当数据改变并且调用 notifyListeners() 这里会收到回调

model.addListener(() {

//Do something

});

4.1.2 通过 Provider.of(context) 方式监听

这里看到在build方法中我们获取Provider传入的Model.并没有调用addListen

你可能感兴趣的:(flutter怎么手动刷新)