AngularJS ng-grid - > afterSelectionChange触发两次

Rob*_*ian 9 angularjs ng-grid

我有ng-grid选项:

afterSelectionChange: function (row, event) {
                console.log("Event: " + event);
                console.log("Row: " + row.rowIndex);
            },
Run Code Online (Sandbox Code Playgroud)

第一次选择行时,它按预期工作.第二次,它触发两次,一次为行离开,另一次为新行.这可以.问题是,我想对新行采取一次行动.我能做到的唯一方法是检查事件.但事件未定义.

输出:

Event: undefined activityGridController.js:13
Row: 0 activityGridController.js:14
Event: undefined activityGridController.js:13
Row: 1 
Run Code Online (Sandbox Code Playgroud)

问题是,如何确定新行?

Aar*_*k71 9

您可以使用beforeSelectionChange事件设置一个额外的属性.像这样的东西

beforeSelectionChange: function(row) {
  row.changed = true;
  return true;
},
afterSelectionChange: function (row, event) {
  if (row.changed){
    console.log("deal with row " + row.rowIndex);
    row.changed=false;
  }
},
Run Code Online (Sandbox Code Playgroud)


San*_*ath 5

检查该行。选择的第一行应为false,发送行应为true。

  if(row && row.entity){
    if(row.selected){
       var selectedEntity = row.entity;
    }
  }
Run Code Online (Sandbox Code Playgroud)