Я использую Angular 6
и Reactive form
для создания формы.
В функции ngOnInit()
я инициализировал группу форм, такую как
this.landingPageForm = this.formBuilder.group({
title: new FormControl('', [
Validators.required
]),
images: this.formBuilder.array([])
});
В этой группе форм я хочу, чтобы images
было скрытым полем ввода, поскольку значения будут вставлены из компонента. и title
будет отображаться пользователю.
У меня есть переменная массива, которая содержит URL для изображений.
images: Array = [];
console.log(images);
Утешительный images
дает данные в следующем формате
[
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
"https://example.com/image3.jpg"
]
для установки значения images
в поле ввода images
. Я пытаюсь
this.landingPageForm.setValue({
title: this.product.info.title,
images: this.images || [],
});
Но выдает ошибку как
There are no form controls registered with this array yet. If you're using ngModel,
you may want to check next tick (e.g. use setTimeout).
Я пытался вставить скрытое поле ввода для таких изображений, как
<input type="hidden" formControlName="images">
and
<input type="hidden" formControlName="images[]">
Но, тем не менее, такая же ошибка есть.
Как установить значения переменной images
в поле ввода массива?