鉴于:
grid = new Slick.Grid("#myGrid", data, columns, options);
grid.setSelectionModel(new Slick.RowSelectionModel());
grid.onSelectedRowsChanged.subscribe(function() {
row_ids = grid.getSelectedRows();
console.log(row_ids);
});
...当我选择一行(比如第 5 行)时,我得到一个输出
[4]
...这是我所期望的。但是,除了这一行之外, CMD+Click 或 SHIFT+Click -ing 另一行(例如,第 3 行)给了我一个输出
[2]
[4, 2]
...这不是我所期望的(我期望只是[4, 2]
)。只要选择的行数为 ,这似乎就会发生> 1
。所以,如果我要继续选择另一行(比如第 17 行),我会得到这个
[16]
[4, 2, 16]
我在语句上添加了一个断点console.log
并验证了onSelectedRowsChanged
它被触发了两次:一次用于新单击的行,一次用于所有选定的行。
为什么是这样?我只希望它被触发一次,给我所选行的完整数组。我将如何做到这一点?还是我错过了什么?