我正在尝试在填充选择时设置初始值,数据来自休息并加载到组件中。
后未设置/更新初始值获取列表以填充选择:
...
ngOnInit():any {
this.crudService.get(`/api/countries`).subscribe(data => {this.countries = data;});
...
获取模型对象女巫有一个国家:
...
this.crudService.get('/api/unions/default').subscribe(data => {
this.union = data;
...
HTML:
...
<div class="col-md-2">
<select *ngIf="union.country" [(ngModel)]="union.country" class="form-control">
<option *ngFor="let c of countries" [ngValue]="c">{{c.code}}</option>
</select>
</div>
...
一切正常,我可以选择一个国家,并在模型中正确更新,但初始值未选中但存在于模型中... 有任何建议或者这是一个错误吗?
谢谢!
答案 0 :(得分:4)
如果将默认值分配给union.country
并且它是一个对象(与原始值相对),则它必须是同一个实例,而不仅仅是具有相同内容的对象。
答案 1 :(得分:0)
You can use the tag [compareWith]
inside your select
area in HTML and
compareByID(first: any, second: any) {
return first && second && first.ID == second.ID;
}
inside of you component.ts.
When i used ngValue
to select the value, it's hasn't setting the default value on init.