我面临一个非常奇怪的问题。
我想实现从DataTable中删除行的选项,因此实现了以下方法:
onRemoveRow() {
setState(
() {
lastRowIndex -= selectedGeneLists.length;
geneLists.removeWhere((element) => selectedGeneLists.contains(element));
for (int i = 0; i < geneLists.length; i++) {
GenesListObjIndexed genesListObjIndexed = geneLists[i];
genesListObjIndexed.index = i;
}
selectedGeneLists = [];
},
);
}
此函数应该修改存储表数据的列表,并且期望当我从列表中删除项目时,项目将从表中删除。但是您可以在这里看到以下问题(所选的行未被删除):
奇怪的是,当我调试并检查列表的值时,它看起来不错并且符合预期,那么可能是什么问题呢?
最佳答案
使用key属性可以唯一地标识每一行,并删除具有key值的行。