provider list 数据更新,界面不更新

2021-03-13  本文已影响0人  Juanlin

现象:

值使用provider状态管理插件时候,设置监听对象是List,当向已有的List数据中add新数据时候,界面收不到List更新,导致界面也无法更新。

代码:

class ListDataProvider with ChangeNotifier {

List<goodsInfo> _goods;

List<goodsInfo> get goods =>_goods;

...

Future upDateGoodsInfo() async {

List<goodsInfo> goods_t =await AccountService.getGoodsInfo();

goods_t.forEach((element) {

_goods.add(element);

});

notifyListeners();

}

...}

问题:

provider 不支持监听List中元素更新

解决:1、全量替换List对象  (不推荐)

2、设立基础类型对象 如:String listModify; 或int listModify 等类型元素,监听监听 listModify 然后获取 List 数据,最后更新界面 

上一篇 下一篇

猜你喜欢

热点阅读