【发布时间】:2011-06-11 20:12:49
【问题描述】:
(有关背景信息,请参阅 this question 和 this question...)
给定:
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 被触发了两次:一次用于新单击的行,一次用于所有选定的行。
这是为什么?我只希望它触发一次,为我提供所选行的完整数组。我将如何做到这一点?还是我错过了什么?
【问题讨论】:
-
您使用的是什么版本的 SlickGrid?我正在使用“v2 master”分支(可能是 2011 年 1 月中旬)的最新结帐,并且没有遇到这个问题
-
我正在使用“SlickGrid v2.0 alpha”,直接来自 github 页面。我找到了问题的根源...在下面发布...
-
我的错;更新了上面的问题(而不是在下面回答)。
-
感谢您分享您的发现。