Привет всем, я новичок в угловой. На самом деле, я пытаюсь подписать данные из службы и эти данные, которые я передаю, чтобы передать свой контроль формы (например, это похоже на форму редактирования).
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { QuestionService } from '../shared/question.service';
@Component({
selector: 'app-update-que',
templateUrl: './update-que.component.html',
styleUrls: ['./update-que.component.scss']
})
export class UpdateQueComponent implements OnInit {
questionsTypes = ['Text Type', 'Multiple choice', 'Single Select'];
selectedQuestionType: string = "";
question: any = {};
constructor(private route: ActivatedRoute, private router: Router,
private qService: QuestionService, private fb: FormBuilder) {
}
ngOnInit() {
this.getQuebyid();
}
getQuebyid(){
this.route.params.subscribe(params => {
this.qService.editQue([params['id']]).subscribe(res =>{
this.question = res;
});
});
}
editqueForm = this.fb.group({
user: [''],
questioning: ['', Validators.required],
questionType: ['', Validators.required],
options: new FormArray([])
})
setValue(){
this.editqueForm.setValue({user: this.question.user, questioning: this.question.questioning})
}
}
если я использую [(ngModule)]
в своем поле формы, чтобы установить значение для моего элемента, оно работает нормально и выдает предупреждение, что оно будет устаревшим в версии 7 angular.
<textarea formControlName="questioning" [(ngModule)]="question.questioning" cols="70" rows="4"></textarea>
Итак, я установил значения для моего элемента управления формой, выполнив ниже, но элемент не показывает эти значения.
setValue(){
this.editqueForm.setValue({user: this.question.user, questioning: this.question.questioning})
}
Может кто-нибудь сказать мне, как установить значения для моей реактивной формы. Пожалуйста, предложите мне.