我有一个下拉列表,其中包含从DB获取的值。值在组件中订阅。 但是,在数据库中添加新的选择选项时,下拉列表值不会自动更新。
组件.html
<select name="menu_parent" class="form-control not_chosen">
<option *ngFor="let menu of resultMenus" value="{{ menu.id }}">{{menu.title}}</option>
</select>
组件.ts
ngOnInit() {
this.data.showMenus()
.subscribe(data =>{
this.resultMenus = data.data;
}
);
}
服务
showMenus(){
this.ctrURL = API_URL+"menu";
var localStore = JSON.parse(localStorage.getItem('currentUser'));
headers.append("Authorization", "Bearer " + localStore.token);
return this.http.get(this.ctrURL,'',{ headers: headers })
.pipe(map(data => { return data.json(); }));
}
您可以使用计时器来更新数据。
component.ts
import { timer } from 'rxjs';
ngOnInit() {
timer(0, 5000).subscribe( t => {
this.data.showMenus().subscribe(data => { this.resultMenus = data.data; });
});
}
这将导致您的选项列表每 5 个 secon 更新一次。