如何在 Angular 中获取 md-select 的先前值
How to get previous value of md-select in Angular
我有这个md-select
<md-select
class="pull-right"
[options]="nodeNames"
(handleChange)="onChange($event)"
optionLabel="name"
overlayClass="common-md-select-drop-down"
scrollHeight="350px"
[(ngModel)]="selectedServer"
>
</md-select>
在我的 .ts
文件中,我的 onChange
函数如下所示:
public onChange(event): void {
this.selectedServer = event.value.name;
this.getJobStatusData(this.selectedServer);
}
所以,我想要的是,当我从下拉列表中选择了一个项目并导航到其他组件并返回到该组件时,我希望下拉列表具有之前选择的值。因此,在我的例子中,selectedServer
包含选定的值。我该怎么做?
编辑 1
<md-select
class="pull-right"
[options]="nodeNames"
(handleChange)="onChange($event)"
optionLabel="name"
overlayClass="common-md-select-drop-down"
scrollHeight="350px"
[(ngModel)]="selectedServer"
(ngModelChange)="onModelChange(selectedServer, $event); selectedServer = $event;"
>
</md-select>
最简单的解决方案是为此目的使用 localStorage
:
将值存储在 localStorage 中,当导航到同一组件时,只需读取该值并设置:
public onChange(event): void {
localStorage.setItem('selectedServer' : event.value.name);
this.selectedServer = event.value.name;
this.getJobStatusData(this.selectedServer);
}
现在在组件的 ngOninit
中:
this.selectedServer = localStorage.getItem('selectedServer') || '';
我有这个md-select
<md-select
class="pull-right"
[options]="nodeNames"
(handleChange)="onChange($event)"
optionLabel="name"
overlayClass="common-md-select-drop-down"
scrollHeight="350px"
[(ngModel)]="selectedServer"
>
</md-select>
在我的 .ts
文件中,我的 onChange
函数如下所示:
public onChange(event): void {
this.selectedServer = event.value.name;
this.getJobStatusData(this.selectedServer);
}
所以,我想要的是,当我从下拉列表中选择了一个项目并导航到其他组件并返回到该组件时,我希望下拉列表具有之前选择的值。因此,在我的例子中,selectedServer
包含选定的值。我该怎么做?
编辑 1
<md-select
class="pull-right"
[options]="nodeNames"
(handleChange)="onChange($event)"
optionLabel="name"
overlayClass="common-md-select-drop-down"
scrollHeight="350px"
[(ngModel)]="selectedServer"
(ngModelChange)="onModelChange(selectedServer, $event); selectedServer = $event;"
>
</md-select>
最简单的解决方案是为此目的使用 localStorage
:
将值存储在 localStorage 中,当导航到同一组件时,只需读取该值并设置:
public onChange(event): void {
localStorage.setItem('selectedServer' : event.value.name);
this.selectedServer = event.value.name;
this.getJobStatusData(this.selectedServer);
}
现在在组件的 ngOninit
中:
this.selectedServer = localStorage.getItem('selectedServer') || '';