我有一个垫选择,其中选项是数组中定义的所有对象。我试图将值设置为默认选项之一,但是在页面呈现时它被保留为选中状态。
我的打字稿文件包含:
public options2 = [
{"id": 1, "name": "a"},
{"id": 2, "name": "b"}
]
public selected2 = this.options2[1].id;
我的 HTML 文件包含:
<div>
<mat-select
[(value)]="selected2">
<mat-option
*ngFor="let option of options2"
value="{{ option.id }}">
{{ option.name }}
</mat-option>
</mat-select>
</div>
我尝试过设置selected2
和value
in mat-option
对象及其 id,并尝试同时使用[(value)]
and [(ngModel)]
in the mat-select
,但没有一个起作用。
我使用的是材质版本 2.0.0-beta.10
对模板中的值使用绑定。
value="{{ option.id }}"
应该
[value]="option.id"
并在您选择的值中使用ngModel
代替value
.
<mat-select [(value)]="selected2">
应该
<mat-select [(ngModel)]="selected2">
完整代码:
<div>
<mat-select [(ngModel)]="selected2">
<mat-option *ngFor="let option of options2" [value]="option.id">{{ option.name }}</mat-option>
</mat-select>
</div>
附注截至版本2.0.0-beta.12 the 材料选择现在接受一个mat-form-field
元素作为父元素,因此它与其他材质输入控件保持一致。更换div
元素与mat-form-field
升级后的元素。
<mat-form-field>
<mat-select [(ngModel)]="selected2">
<mat-option *ngFor="let option of options2" [value]="option.id">{{ option.name }}</mat-option>
</mat-select>
</mat-form-field>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)