该问题的常见场景:上拉加载更多
原因:list对象持有相同的引用,导致flutter引擎认为它没更新
解决方法:利用List.from复制原有数据,再用add方法追加新数据并赋值给ValueNotifier
问题代码
ValueNotifier<List<String>> stringNotifier = ValueNotifier(["1" , "2" , "3"]);
append(){
var list = stringNotifier.value;
list.add("4");
stringNotifier.value = list;
}
正确代码
append(){
var newData = List<String>.from(stringNotifier.value ?? []);
newData.add("4");
stringNotifier.value = newData;
}