表单转发器 - angular
Form Repeater - angular
我尝试使用 jquery.repeater(npm install jquery.repeater) 在 angular 中应用表单转发器,但没有成功。是否有其他解决方案或工作方式 (jquery.repeater)
有很多方法可以使用纯 Angular 来实现。这是一个:
在组件ts中有如下
constructor(
private formBuilder : FormBuilder
) { }
formInfoHolder = [];
onAdd(){
let newForm = {
username : new FormControl(''),
password : new FormControl(''),
gender : new FormControl(''),
profession : new FormControl('')
}
this.formInfoHolder.push(this.formBuilder.group(newForm))
}
delete(toDelete){
let aux : any[] = [];
for(let form of this.formInfoHolder){
if(toDelete !== form){
aux.push(form);
}
}
this.formInfoHolder = aux;
}
然后,在组件html
<div *ngFor="let form of formInfoHolder">
<form [formGroup]="form">
<label for="username"> Username </label>
<input id="username" type="text" formControlName="username">
<!-- insert other input elements with the formControlName -->
<label for="delete"> Delete </label>
<input id="delete" type="button" (click)="delete(form)">
</form>
</div>
<button (click)="onAdd()">Add</button>
使用此实现,您必须在 app.module.ts
中导入 ReactiveFormsModule
如果您需要额外的解释,请随时询问。
我尝试使用 jquery.repeater(npm install jquery.repeater) 在 angular 中应用表单转发器,但没有成功。是否有其他解决方案或工作方式 (jquery.repeater)
有很多方法可以使用纯 Angular 来实现。这是一个:
在组件ts中有如下
constructor(
private formBuilder : FormBuilder
) { }
formInfoHolder = [];
onAdd(){
let newForm = {
username : new FormControl(''),
password : new FormControl(''),
gender : new FormControl(''),
profession : new FormControl('')
}
this.formInfoHolder.push(this.formBuilder.group(newForm))
}
delete(toDelete){
let aux : any[] = [];
for(let form of this.formInfoHolder){
if(toDelete !== form){
aux.push(form);
}
}
this.formInfoHolder = aux;
}
然后,在组件html
<div *ngFor="let form of formInfoHolder">
<form [formGroup]="form">
<label for="username"> Username </label>
<input id="username" type="text" formControlName="username">
<!-- insert other input elements with the formControlName -->
<label for="delete"> Delete </label>
<input id="delete" type="button" (click)="delete(form)">
</form>
</div>
<button (click)="onAdd()">Add</button>
使用此实现,您必须在 app.module.ts
中导入 ReactiveFormsModule如果您需要额外的解释,请随时询问。