如何解决无法从角度形式读取复选框值的问题?

时间:2019-05-06 12:29:14

标签: angular checkbox angular-reactive-forms

我试图显示复选框列表,并在运行时动态更改该列表。但是,一旦填充了新的复选框,form.value将具有更新的列表,但没有更新的值(基于用户选择)

我一直在关注这篇文章:https://coryrylan.com/blog/creating-a-dynamic-checkbox-list-in-angular

这是我添加复选框的代码:

private addCheckboxes() {
    const searchControls = (this.form.controls.searchDataControls as FormArray) ;
    while (searchControls.length !== 0) {
      searchControls.removeAt(0);
    }
    this.searchDataResult.map((o, i) => {
      const control = new FormControl();
      searchControls.push(control);
    });
  }

这是我要提交的代码:

  submitSelection() {
    const selectedData: number[] = this.form.value.searchDataControls
      .map((value: any, index: number) => (value ? this.searchDataResult[index].id : null))
      .filter((value: any) => value !== null);
  }

这在首次加载时效果很好。但是,当使用新的addCheckboxes再次调用searchDataResult时,selectedData始终为空。

0 个答案:

没有答案