我有一个包含输入字段和选择控件的编辑表单。如您所知,这些控件应该使用数据库中的记录填充。输入字段中包含各自的数据,但选择控件则没有。
这是我的一个选择控件
<select id="taxAuthorityId" name="taxAuthorityId" [(ngModel)]="tax.taxAuthorityId" class="form-control">
<option *ngFor="let b of taxAuthorities" value={{b.Id}}>{{b.name}}</option>
</select>
tax
是一个包含数据的对象,我通过在控制台中记录它来确认它,并返回所有字段,包括taxAuthorityId
在这种情况下。但它没有在控件上选中。如何才能使其适用于我选择的所有控件?
税对象的TypeScript代码
show(id: number): void {
this._taxService.get(id)
.subscribe((result: TaxDto) => {
this.tax = result;
console.log(this.tax);
});
}
答案 0 :(得分:1)
通常,值属性值会被字符串化,因此当您将b.id
放入其中时,它会变为'1'
而不是1
。因此,当预先选择值1 ==='1'时,该表达式不会得到满足。将value
更改为[ngValue]="b.Id"
将有助于保留值类型。
<select id="taxAuthorityId" name="taxAuthorityId"
[(ngModel)]="tax.taxAuthorityId" class="form-control">
<option *ngFor="let b of taxAuthorities"
[ngValue]="b.Id">
{{b.name}}
</option>
</select>