html

<p-checkbox name="showLinkedRisksOnly" id="showLinkedRisksOnlyChkBx"
   label="Show Only Linked Risks" binary="true" (click)="showOnlyLinkedRisks($event)"
   [ngModel]="showLinkedRisksOnly" ></p-checkbox>


打字稿

showOnlyLinkedRisks($event){
  if(condition){
    this.showLinkedRisksOnly = !this.showLinkedRisksOnly;
  }
}


我试图根据条件将复选框的状态改回选中/取消选中之前的状态。但是由于某种原因,当我更改this.showLinkedRisksOnly的值时,复选框和模型不同步。
有可能达到

最佳答案

首先,绑定onChange事件而不是click事件。
然后将复选框实例添加到事件

<p-checkbox name="showLinkedRisksOnly" #something id="showLinkedRisksOnlyChkBx" label="Show Only Linked Risks" binary="true" (click)="showOnlyLinkedRisks($event, something)" [ngModel]="showLinkedRisksOnly"></p-checkbox>


在打字稿中

showOnlyLinkedRisks(event, control) {
    if (false) {
      control.checked = false;
    } else { this.showLinkedRisksOnly = event.checked; }
}


对不起,我的英语不好!

08-08 03:50