如何解决无法在 ValueListenableBuilder
我需要更新 ListView 小部件内的列表,所以我设置了一个 valuenotifierbuilder,如下所示:
final ValueNotifier<ModelRegis> modelFoto =
ValueNotifier<ModelRegis>(ModelRegis());
模型的结构是这样的
class ModelRegis {
String loadFoto;
bool adaFoto;
int idFotoUser,index;
List<Widget> independentFoto;
ModelRegis(
{this.loadFoto = "done",this.adaFoto = false,this.idFotoUser,this.index,this.independentFoto});
}
这是我尝试使用 ValueListenableBuilder 更新小部件的方法
ValueListenableBuilder(
valueListenable: modelFoto,builder: (_,val,__) {
List<Widget> listFuture = [];
if (val.adaFoto) {
Widget dummyList =
Text("after click");
List temp = val.independentFoto;
temp[val.index] = dummyList;
modelFoto.value = ModelRegis(
loadFoto: modelFoto
.value.loadFoto,adaFoto:
modelFoto.value.adaFoto,idFotoUser: modelFoto
.value.idFotoUser,index:
modelFoto.value.index,independentFoto: temp);
// modelFoto.notifyListeners();
print("2. $temp");
print(
"2. ${val.independentFoto}");
// modelFoto.notifyListeners();
return ListView(
physics:
const AlwaysScrollableScrollPhysics(),shrinkWrap: false,children:
val.independentFoto);
}
我尝试打印val.independentFoto
,结果是这样的
[Text("after click"),FutureBuilder<dynamic>,FutureBuilder<dynamic>]
但是ListView中的返回结果总是不更新,所以会返回一个由这样的widget组成的List
[FutureBuilder<dynamic>,FutureBuilder<dynamic>]
返回结果不会在第一个索引处将小部件更新为 Text("after click")
是否有正确的方法来更新 ValueListenableBuilder 中的小部件列表?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。