当确认返回false时,如何恢复ng-select的先前值?



我在页面上有一个分支选择下拉列表。当下拉菜单被选中时,我显示一个确认消息,返回'ok'和'cancel'。当消息返回'Cancel'即'false'时,我不想更新所选值。如何在Angular中实现这一点?

这是我的component.html文件

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

这是我当前的组件。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;
}
}

这可能行得通。

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);
}
}

最新更新