今天遇到一个问题:
列表数据删除后,数据与ui展示不一致。
现象为:
删除前 删除【1】后
数据 [1,2,3,4] 数据 [2,3,4]
列表 [1,2,3,4] 列表 [1,2,3]
经过调查发现是列表子组件item未加didUpdateWidget生命周期,未及时更新数据所致。
@override
void didUpdateWidget(covariant oldWidget) {
super.didUpdateWidget(oldWidget);
_list = widget.list;
setState(() {});
}
注:在子组件嵌套层数超过1层后,需要加didUpdateWidget生命周期,在子组件内及时同步数据。