Flutter Listview生成器创建列表项的副本
我有一个使用listview构建器构建的小部件列表。问题是,当我更改列表中某个项目的状态(使用列表项目的ontap属性)时,状态会发生很好的更改,但会在列表的最顶端添加一个经过修改的列表项目的精确副本 片段Flutter Listview生成器创建列表项的副本,flutter,flutter-layout,flutter-listview,Flutter,Flutter Layout,Flutter Listview,我有一个使用listview构建器构建的小部件列表。问题是,当我更改列表中某个项目的状态(使用列表项目的ontap属性)时,状态会发生很好的更改,但会在列表的最顶端添加一个经过修改的列表项目的精确副本 片段 List data = [1,2,2,1,1]; return Scrollbar( child: ListView.builder( itemCount: data.length, itemBuilder: (context, int ind
List data = [1,2,2,1,1];
return Scrollbar(
child: ListView.builder(
itemCount: data.length,
itemBuilder: (context, int index) {
final s = data[index];
return ListTile(
dense: false,
leading: leading(leading),
title: Text(s),
subtitle: Text(
"${s}",
style: Theme.of(context).textTheme.caption,
),
onTap: () {
setState(() {//do something to the subtitle});
},
);
},
),
);
尝试为每个
listile
指定一个唯一的键
例如:
return ListTile(
key: Key("${index}"),
dense: false,
leading: leading(leading),
title: Text(s),
subtitle: Text(
"${s}",
style: Theme.of(context).textTheme.caption,
),
onTap: () {
setState(() {//do something to the subtitle});
},
);
你能告诉我你的数据变量在哪里吗?