如何以编程方式从 ng 表中选择第一行



我正在尝试更改ng表的选定行。使用此代码,我可以选择 ng-table 的第一行,但是在初始调用时,data-ng-class似乎没有触发,因为样式未应用于所选行。但是,在第二次调用函数时,将应用样式。

这是我们的选择功能:

function changeSelection(agreement) {
  if (agreementNumberService.isSelectable === true) {
    agreementVM.isSelectable = true;
    if (agreement.$selected) {
      agreement.$selected = !agreement.$selected;
    } else {
      agreement.$selected = true;
    }
    //agreement.$selected = !agreement.$selected;
    if (agreementVM.selectedItem && agreementVM.selectedItem !== agreement) {
      agreementVM.selectedItem.$selected = false;
    }
    agreementVM.selectedItem = agreement;
      }
  }

这是表格行:

<tr data-ng-repeat="agreement in $data" data-ng-click="vm.changeSelection(agreement, $event)"
            data-ng-class="{'active': agreement.$selected}">

您是否知道为什么该样式不是在第一次调用函数时应用,而是在后续调用中应用?提前谢谢。

对视图的以下更改修复了此问题。前面的表达式有问题。

<tr data-ng-repeat="agreement in $data" data-ng-click="vm.changeSelection(agreement)"
            data-ng-class="{'active': (agreement.agreementNumber == vm.selectedItem.agreementNumber)}">

最新更新