我正在从.ts文件中的动态表单库捕获MatSelectChange事件。这很好,但是当我捕获事件时,我不知道如何获取先前选择的值。
获得当前值很容易,令我惊讶的是先前的值不能立即访问。
该事件包含对$event.value
和$event.source
的访问权。
我已经尝试深入研究source
成员,但是我也找不到那里的先前值,因为它只是当前的选择控件。
不幸的是,没有办法从事件中获取它。您将必须将其存储在组件变量中,然后从中读取它。这不应该增加太多的开销,因为大多数时候您仍然必须这样做:
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);
}
}