【发布时间】:2020-06-25 09:11:22
【问题描述】:
我正在尝试根据我选择或取消选择一行来选择一些行,如果我选择一行,则索引低于所选行索引的行也会被选中。 我遇到的问题是,每次执行 setSelected(true) 或 setSelected(false) 时,都会再次触发 onRowSelected 事件,并变成无限循环。
this.gridOptions.onRowSelected = function(event) {
var rowIndexSelected = event.rowIndex;
if (event.node.selected) {
vm.gridOptionsSuiviPrestataire.api.forEachNode(function(rowNode, index) {
if (index < rowIndexSelected) {
rowNode.setSelected(true);
}
});
} else {
vm.gridOptionsSuiviPrestataire.api.forEachNode(function(rowNode, index) {
if (index > rowIndexSelected) {
rowNode.setSelected(true);
}
});
}
};
有没有办法在不触发 onRowSelected 事件侦听器或使用某些标志来阻止执行方法内部的代码的情况下做到这一点?
【问题讨论】:
-
而不是使用
onRowSelected,捕获rowClicked并在那里实现你的逻辑。否则会发生这种情况。 -
我已经使用 rowClicked 来显示一个弹出窗口,所以我不能在 rowClicked 上做这两件事。我想在复选框的选择上做到这一点。
标签: javascript angularjs ag-grid ag-grid-angular