如何在提交之前向ngForm添加其他字段?

时间:2018-03-17 11:31:08

标签: angular ionic-framework

如何在我的表单出来之前添加一些附加字段?

this.forma = { 'date': this.selectedDate };

form.ts

onSubmit(f: NgForm) {
    console.log(f);
}

form.html

<form (ngSubmit)="onSubmit(forma)" #forma="ngForm" method="post">
<ion-list>
  <ion-item>
    <ion-label floating>First name, last name*</ion-label>
    <ion-input type="text" value="" minlength="8" name="subject" ngModel #subject="ngModel"></ion-input>
  </ion-item>

1 个答案:

答案 0 :(得分:1)

  

如何在表单前添加一些附加字段   出?

如果您想向 NgForm 添加其他字段,您只能添加 NgModel 类型的 FormControl / FormGroup ,这意味着您需要拥有模板中的一些元素与ngModel指令。例如:

class SomeComponent{

@ViewChild('myControl') myControl: NgModel;
...
onSubmit(f: NgForm){
   f.addControl(myControl);
}
...
}

组件模板:

    <input #myControl="ngModel" [name]="formInputName" [id]="formInputName" type="text" [(ngModel)]="searchValue">

但您可以向 FormGroup 添加字段。当您需要动态呈现不同的控件类型时,这种情况可能很有用。

Code example

Official guide

更新:修复formControlName绑定