【发布时间】:2019-03-02 02:13:56
【问题描述】:
所以我正在努力让它工作,我想做的是使用列表将反应式表单构建器属性绑定到选择选项值。这是我的用户模型:
export interface User {
id: number;
firstName: string;
lastName: string;
about: string;
features: IFeatureList[];
}
export interface IFeatureList {
FeatureId: string;
FeatureName: string;
}
Ts文件绑定:
this.form = this.formBuilder.group({
firstName: ['', Validators.required],
lastName: ['', Validators.required],
about: [],
features: this.formBuilder.array([ this.createItem() ])
});
createItem(): FormGroup {
return this.formBuilder.group({
FeatureId: '',
FeatureName: ''
});
}
我什至需要使用 formBuilder.array 来添加组吗?
模板:
<select class="form-control" formArrayName="features">
<option *ngFor="let item of form.get('features').controls; let i = index;"
[value]="item.FeatureId">
<div [formGroupName]="i">
{{item.FeatureName}}
</div>
</option>
我也不确定这里的 form.get('features').controls,我需要只使用一个简单的 ngFor 吗?
示例 - https://stackblitz.com/edit/angular-ndj21m?file=src%2Fapp%2Fapp.module.ts
我在 .ts 文件中尝试过的内容:
this.form = this.formBuilder.group({
firstName: ['', Validators.required],
lastName: ['', Validators.required],
about: [],
features: []
});
模板文件:
<select class="form-control" formControlName="features">
<option *ngFor="let item of user"
[value]="item.FeatureId">
{{item.FeatureName}}
</option>
【问题讨论】:
标签: angular angular-reactive-forms