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

问题描述 投票:1回答:1

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

获得当前值很容易,令我惊讶的是先前的值不能立即访问。

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

我已经尝试深入研究source成员,但是我也找不到那里的先前值,因为它只是当前的选择控件。

Link to API

angular angular-material angular-forms
1个回答
0
投票

不幸的是,没有办法从事件中获取它。您将必须将其存储在组件变量中,然后从中读取它。这不应该增加太多的开销,因为大多数时候您仍然必须这样做:

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

© www.soinside.com 2019 - 2024. All rights reserved.