如何在角度6中选择多个复选框

时间:2019-02-20 07:33:35

标签: javascript angular6

我正在使用angular复选框来选择多个选项,并且试图在一个对象而不是数组中获取该复选框的值。我尝试了以下代码:

component.html file

     <form [formGroup]="myForm">
        <div class="form-group">
       
          <div class="input-group">
              <div *ngFor="let data of skillsArray">
                  <p><input type="checkbox" (change)="onChange(data.value, $event.target.checked)"> {{data.skill}}</p>
                </div>
          </div>
        </div>
      </form>

component.ts file

formValue(){
        this.myForm = this.fb.group({
            VFields: this.fb.array([])
          });
    }
    // selectedValue:Object;
    onChange(value: any, isChecked: boolean) {
        const skillFormArray = <FormArray>this.myForm.controls.VFields;
       
        if (isChecked) {
            skillFormArray.push(new FormControl(value));
        } else {
          let index = skillFormArray.controls.findIndex(x => x.value == value)
          skillFormArray.removeAt(index);
        }
        
      }

输出为:

{   “ VFields”:[     “ 1”,     “ 2”,     “ 3”   ] }

但是我希望它像这样:

{ “ VFields”:“ 1,2,3” }

那我们该怎么做呢?

1 个答案:

答案 0 :(得分:1)

在sdata上使用toString()方法。
您会得到理想的结果