(背景については、この質問とこの質問を参照してください...)
与えられた:
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);
});
... 1 つの行 (たとえば、行 5) を選択すると、次の出力が得られます。
[4]
...これは私が期待するものです。ただし、この行に加えて別の行 (たとえば、行 3) を CMD + クリックまたは SHIFT + クリックすると、次のような出力が得られます。
[2]
[4, 2]
...これは私が期待するものではありません(私はただ期待します[4, 2]
)。これは、選択された行数が である限り発生するようです> 1
。したがって、別の行 (たとえば、行 17) を選択し続けると、次のようになります。
[16]
[4, 2, 16]
console.log
ステートメントにブレークポイントを追加し、onSelectedRowsChanged
が 2 回起動されていることを確認しました。1 回は新しくクリックされた行に対して、もう 1 回は選択されたすべての行に対してです。
どうしてこれなの?一度だけ起動して、選択した行の完全な配列を取得します。どうすればこれを達成できますか? または、何か不足していますか?