У меня работает следующий код, но я не могу отобразить пользовательскую ошибку из ввода или отключить форму, если она неверна. Поэтому я хотел бы преобразовать его в 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>