Angular Material 从 MatSelectChange 事件中获取先前选择的值

Angular Material get previously selected value from MatSelectChange event

我正在从我的 .ts 文件中的动态表单库捕获 MatSelectChange 事件。这工作得很好,但是当我捕获事件时,我不知道如何获取以前 selected 的值。

获取当前值很容易,我很惊讶无法立即访问先前值。

该事件包含对 $event.value$event.source 的访问权限。

我试图深入研究 source 成员,但我也找不到以前的值,因为它只是当前的 select 控件。

Link to API

很遗憾,无法从活动中获取它。您必须将它存储在一个组件变量中,并从那里读取它。这不应该增加那么多开销,因为大多数时候你无论如何都必须这样做:

export class SelectOverviewExample {
  selected?: string;

  onChange(event: MatSelectChange): void {
    console.log('Old value', this.selected);
    this.selected = event.value;
    console.log('New value', event.value);
  }
}

stackblitz