Я попытался создать контейнер, в который можно было бы помещать поля с такими именами, как раскрывающийся список или календарь. Эти поля имеют такие атрибуты, как розовый календарь или раскрывающийся список из трех элементов.
Я хочу, чтобы эти имена с атрибутами сохранялись в моей базе данных. Я создал REST API, но не знаю, как сохранять такие вещи. Я попытался поместить эти элементы во входные данные, чтобы сохранить их с помощью formControlName, но переместить элементы во входные данные невозможно. Я также пытался использовать ngSwitch, где каждый ngSwitchCase имеет свое собственное имя formControlName, но затем я получаю сообщение об ошибке:
Невозможно найти элемент управления по пути: 'forms -> 0 -> Textbox.0'
formadd.comComponent.html
Код: Выделить всё
div class="add">
*ngIf="paginaForm.controls['form_name']?.invalid && (paginaForm.controls['form_name'].dirty || paginaForm.controls['form_name'].touched)"
class="alert alert-danger">
Formuliernaam is required.
{{item}}
Selecteer een datum:
{{item}}
{{item}}
{{item}}
{{item}}
{{item}}
{{item}}
{{item}}
{{item}}
{{item}}
{{item}}
*ngIf="paginaForm.controls['element']?.invalid && (paginaForm.controls['element'].dirty || paginaForm.controls['element'].touched)"
class="alert alert-danger">
Element is required.
Verwijder Pagina
Opslaan Pagina
Pagina toevoegen
Код: Выделить всё
import { Component, OnInit } from '@angular/core';
import { FormGroup, Validators, FormBuilder, FormArray } from '@angular/forms';
import { FoldersService } from '../folders.service';
import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
@Component({
selector: 'app-formadd',
templateUrl: './formadd.component.html',
styleUrls: ['./formadd.component.css']
})
export class FormaddComponent implements OnInit {
paginaForm: FormGroup;
constructor(private fb: FormBuilder, private bs: FoldersService) {
this.createForm();
}
createForm() {
this.paginaForm = this.fb.group({
form_name: ['', Validators.required],
element: ['', Validators.required],
});
}
addFolders(form_name, element) {
console.log(this.paginaForm.value.forms[0]);
this.bs.addFolders(form_name, element);
}
ngOnInit() {
this.paginaForm = this.fb.group({
forms: this.fb.array([])
});
}
onFormSubmit() {
alert(JSON.stringify(this.paginaForm.value));
}
addPagina() {
(this.paginaForm.get('forms')).push(this.fb.group({
form_name: [],
element: [],
}));
}
get forms() {
return (this.paginaForm.get('forms')).controls;
}
removePagina(i: number) {
(this.paginaForm.get('forms')).removeAt(i);
}
done = [];
drop(event: CdkDragDrop) {
console.log(event);
this.done.push(event.item.data);
Невозможно прочитать «значение» свойства, неопределенное
Когда я меняю оператор
Код: Выделить всё
{{item}}
Код: Выделить всё
{{item}}
Подробнее здесь: https://stackoverflow.com/questions/588 ... th-angular
Мобильная версия