现象:
值使用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 数据,最后更新界面