angular - 确认返回false时如何恢复之前的ng-select value?

我在页面上有一个分支选择下拉列表。当下拉菜单被选中时,我会显示一条返回“确定”和“取消”的确认消息。当消息返回“取消”即“假”时,我不想更新选定的 value。我怎样才能在 Angular 中实现这一点?

这是我的 component.html 文件

<ng-select [items]="data" bindLabel="BranchName" 
   bindValue="BranchID" 
   [clearable]='false' [(ngModel)]="selectedBranchId"
   [searchable]="false" 
  (change)="onBranchChange()">
</ng-select>

这是我当前的 component.ts 文件

onBranchChange() {
  if (confirm("Are you sure to change branch?")) {
     //Do something
  }
  else{
     //Reset selected value of dropdown list to previous value
     this.selectedBranchId = previousValue;
  }
}

回答1

这可能会奏效。

selectedBranchId: any;
tempSelectedBranchId: any;

onBranchChange(): void {
  if (confirm('Are you sure to change branch?')) {
    this.tempSelectedBranchId = this.selectedBranchId;
  } else {
    setTimeout(() => {
      this.selectedBranchId = this.tempSelectedBranchId;
    }, 0);
  }
}

相似文章

html - xpath 用于基于其标签的输入

我想根据其标签选择一个输入。我在xpath下面找到了,它返回3个输入,即使其中两个返回的输入具有不同的标签。我想了解它为什么会这样工作以及如何改进它以返回正确的(一个)输入元素。这是xpath://i...

最新文章