angular8多选框实现点击整行任意位置<tr>就可以选中多选框

代码:

<tr *ngFor="let d of EnergyUseInfos" (click)="selectEnergyUses(d)">
      <td style="text-align: left"><input type="checkbox" style="margin: auto" name="{{d}}" [(ngModel)]="d.isCheck" ></td>
      <td>{{d.code}}</td>
      <td>{{d.name}}</td>
</tr>
selectEnergyUses(d: EnergyUseInfo) {
        d.isCheck = !d.isCheck;
}

class EnergyUseInfo {
    public id;
    public code;
    public name;
    public isCheck: boolean = false;
}

先看上面html,一般来写如果是点击多选框选中的话,

(click)="selectEnergyUses(d)这句话应该写在里,那么如果想点击整行选中就需要将这个语句提到中,然后在中双向绑定一个boolean值并且在selectEnergyUses()函数中要去改变这个值,也就是每次点击值就别改变,这样就实现了点击整行选中。

注意多选框中要设置不同的name属性。

你可能感兴趣的:(angular)