【发布时间】:2018-09-17 15:32:52
【问题描述】:
我需要为数组类型的控件返回一个 FormControl 数组。 但我需要知道有多少值进入我的 Observable 才能挂载这些数据。
代码如下:
users$ = this._store.select(usersSelectors.getUsers);
createForm(): void {
this.myForm = this._formBuilder.group({
users: this.buildArray(),
});
}
buildArray(): any {
this.users$.subscribe((data) => {
if (data) {
const values = data.map(() => new FormControl(false));
return this._formBuilder.array(values);
}
});
}
原因是我可以在 HTML 中创建动态复选框,并允许用户执行特定操作。
component.html
<div class="col-md-3">
<label for="users">Users</label>
<div id="users" class="row">
<div class="checkbox" class="col-sm-4"
formArrayName="users"
*ngFor="let item of myForm.get('users').controls; let i = index" >
<label class="checkbox-inline">
<input type="checkbox" [formControlName]="i"> {{ users$[i] }}
</label>
</div>
【问题讨论】:
标签: angular forms typescript observable