<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 举报,一经查实,本站将立刻删除。