我可以使用以下代码,但是如果输入不正确,我将无法显示自定义错误,也无法禁用表单。所以我想将其转换为FormBuilder. 但问题是我不知道如何管理表单中的添加和删除问题。
import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
@Component({
templateUrl: 'build/pages/add-question/add-question.html',
providers: [BddService]
})
export class AddQuestionPage {
public questions;
constructor(private nav: NavController, private bddService : BddService) {
this.questions = [];
this.addQuestion();
}
public addQuestion(){
var question ={
category:'',
material:'',
chapter:''
}
this.questions.push(question);
}
public removeQuestion(index: number){
if(this.questions.length > 1){
delete this.questions[index];
}
}
}
<ion-content class="add-question">
<form #f="ngForm" (ngSubmit)="saveQuestion()">
<ion-list>
<div class="question" *ngFor="let question of questions; let i = index ">
<ion-item>
<ion-label stacked>Category</ion-label>
<ion-input type="text" [(ngModel)]="questions[i].category" required>
</ion-input>
</ion-item>
<ion-item>
<ion-label stacked>Material</ion-label>
<ion-input type="text" [(ngModel)]="questions[i].material" required>
</ion-input>
</ion-item>
</div>
<ion-item>
<button type="button" (click)="addQuestion()" full light>Add Question</button>
</ion-item>
<ion-item>
<button type="submit" full light>Save Question</button>
</ion-item>
</ion-list>
</form>
</ion-content>