provide 状态管理更加方便處理數據
1.在pubspec.yaml中添加
provide: ^1.0.2
2.在main.dart 注册provide
import 'package:provide/provide.dart';
void main(){
var categoryGoodsListProvide= CategoryGoodsListProvide();
var providers =Providers();
providers
..provide(Provider<CategoryGoodsListProvide>.value(categoryGoodsListProvide))
runApp(ProviderNode(child:MyApp(),providers:providers));
}
3.新建类CategoryGoodsListProvide.dart
import 'package:flutter/material.dart';
import '../model/categoryGoodsList.dart';
class CategoryGoodsListProvide with ChangeNotifier{
//服务器响应的数据类型CategoryListData
List<CategoryListData> goodsList = [];
//点击大类时更换商品列表
getGoodsList(List<CategoryListData> list){
goodsList=list;
notifyListeners();
}
}
4.给CategoryGoodsListProvide.dart添加数据的方法:
import 'package:provide/provide.dart';
// 数据传输
Provide.value<CategoryGoodsListProvide>(context).getGoodsList(goodsList.data);
5.获取数据的方法:
//获取数据的方法
Provide<CategoryGoodsListProvide>(
builder: (context,child,data){
//data 数据传输过来的。
},
);