flutter 状态保持之provide

Posted pp-pping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter 状态保持之provide相关的知识,希望对你有一定的参考价值。

代码:

1.

import ‘package:flutter/cupertino.dart‘;

class Counter with ChangeNotifier{
int num = 1;
increase(){
num ++ ;
notifyListeners();//加入监听者模式
}
}
2.
void main() {
var counter = Counter();
var providers = Providers();
providers..provide(Provider<Counter>.value(counter));//注册通知
runApp(ProviderNode(child: MyApp(),providers: providers,));
}
3.
child: Provide<Counter>(
builder: (context,child,counte){
return Text(//获取通知的数据
‘${counte.num}‘,
style: Theme.of(context).textTheme.display1,
);
},
)
4.
onPressed: (){//触发通知
Provide.value<Counter>(context).increase();
},
总结:
 

Provide 状态保持  类似于OC的通知

1.在需要保持的数据方法中注册通知者

xx 为方法名

xx(){

notifyListeners()

}

2.在main函数注册通知方法 

yy 是方法对象名

var yy = xx();

var proders = Providers();

proders..provide(Provide<xx>.value(yy));

runApp(ProviederNode(child:MyApp(),provides:proders));

3.使用通知数据

zz 是任意的变量名 代表XX对象

aa 是XX下的变量

child:Provide<xx>(

builder:(context,child,zz){

return Text(

‘${zz.aa}

)

}

 

)

4.触发通知

mm  是xx下的方法

onPress:(){

Provide.value<xx>(context).mm;

 

}

 

以上是关于flutter 状态保持之provide的主要内容,如果未能解决你的问题,请参考以下文章

Flutter google 登录 保持登录状态

flutter 保持页面状态

Flutter PageView 自由控制状态保持

flutter-保持页面状态(切换页面,页面还在原来的位置,不重新加载接口)

Flutter Desktop:如何隐藏窗口(并使进程保持活动状态)?

Flutter底部导航栏BottomNavigationBar页面状态保持解决方案