据我了解,ui-grid 使用 primaryKey
grid 选项在更新中保留您的选择,但这个简单的 plunker 表明这不是真的:
http://plnkr.co/edit/WYXeQShHWKDYDs4MIZnP?p=preview
重现步骤:
- 单击一行以将其选中 单击
- "单击我以重置数据源"。这将重置数据源(重置为包含与以前完全相同的数据的数据源)。
- 您的选择现已消失。
初始数据源为:
data: [
{ id: "item1" },
{ id: "item2" }
],
跟
primaryKey: 'id',
当您单击按钮时,这是处理程序:
$scope.resetDataSource = function()
{
$scope.gridOptions.data = [ { id: "item1" }, { id: "item2" } ];
$scope.$apply();
};
删除$scope.gridOptions.data =
行将很好地保留所选内容。
旧数据源完全相同(内容)。
分配新数据源后,如何保留选择?
尝试使用选项 restoreSelection
http://ui-grid.info/docs/#/api/ui.grid.saveState.service:uiGridSaveStateService