Flutter - 实际值与显示值不同

Flutter - different between the real value and the displayed value

我遇到了一个很奇怪的问题。 我想实现从 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 = [];
      },
    );
  }

这个函数应该修改存储 table 数据的列表,并且期望当我从列表中删除项目时,项目将从 table 中删除。

但是您可以在这里看到以下问题(所选行未被删除):

奇怪的是,当我调试并检查列表的值时,它看起来很棒并且符合预期,所以可能是什么问题?

使用键属性唯一标识每一行,并删除具有键值的行。