微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angular 动态form

<form [formGroup]="materialSearchForm">
      <div  [formArrayName]="'materialSearchDetails'" style="height: 50px;" *ngFor="let detail of materialFormArray.controls;let i = index">
        <div [formGroupName]="i"  class="row">
            <div style="text-align: left" class="col-md-2">
              <input kendoTextBox formControlName="materialNo" style="width:100%"/>
            </div>
            <div style="text-align: left"  class="col-md-5">
              <input kendoTextBox formControlName="materialName" style="width:100%"/>
            </div>
            <div style="text-align: left"  class="col-md-2">
              <input kendoTextBox formControlName="ZMAT" style="width:100%"/>
            </div>
            <div style="text-align: left"  class="col-md-2">
              <input kendoTextBox formControlName="BPU" style="width:100%"/>
            </div>
            <div  class="col-md-1">
              <span class="k-icon k-i-close" style="color:red;float: right;font-size: 30px;cursor: pointer" (click)="delRow(i)"></span>
            </div>
        </div>
      </div>
</form>

在module中引入ReactiveFormsModule,不然会报错

import { FormsModule,ReactiveFormsModule } from '@angular/forms';

 imports: [
    SharedModule,
    FormsModule,
    ReactiveFormsModule,
    SampleRoutingModule
  ],
 public materialSearchForm:FormGroup
  public materialFormArray:FormArray 

 constructor(private fb: FormBuilder) {
    this.materialFormArray= this.fb.array([]);
    this.materialSearchForm = this.fb.group({
      materialSearchDetails:  this.materialFormArray
    });
    this.operateFormArray();
   }

operateFormArray(index?)
{
 let formArray=this.materialSearchForm.get('materialSearchDetails') as FormArray;
 if(index!=null)
 {
  formArray.removeAt(index);
 }
 else
 {
  formArray.push(this.fb.group({
    materialNo: ['', Validators.required], 
    materialName: ['', Validators.required], 
    ZMAT: ['', Validators.required], 
    BPU: ['', Validators.required], 
   }));  
 }
 console.log(formArray.value);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐