我按照Angular 2网站上的“反应表单指南”进行操作。 https://angular.io/docs/ts/latest/cookbook/dynamic-form.html
但是,我在添加新问题时遇到了麻烦,因为它给了我以下错误:
EXCEPTION:由http://10.1.6.78/hira/app/dynamic-form-question.component.php:9:28引起的错误:无法读取未定义的属性'valid'
这很可能与问题的创建有关,因为以下代码有效:
default: QuestionBase<any>[] = [
new DropdownQuestion({
key: 'brave',
label: 'Bravery Rating',
options: [
{key: 'solid', value: 'Solid'},
{key: 'great', value: 'Great'},
{key: 'good', value: 'Good'},
{key: 'unproven', value: 'Unproven'}
],
order: 3
}),
new TextboxQuestion({
key: 'firstName',
label: 'First name',
value: 'Bombasto',
required: true,
order: 1
}),
new TextboxQuestion({
key: 'emailAddress',
label: 'Email',
type: 'email',
order: 2
})
];
但是这段代码给出了错误:
start: QuestionBase<any>[] = [
new TextboxQuestion({
key: 'firstName',
label: 'First name',
value: 'Bombasto',
order: 1
}),
new TextboxQuestion({
key: 'secondName',
label: 'Second name',
value: 'Bombasto',
order: 2
}),
];
答案 0 :(得分:0)
好的,未定义的是因为dynamic-form.component.ts中的this.form
事物未正确设置。所以我补充说:
ngOnChanges(changes: SimpleChange)
{
this.form = this.qcs.toFormGroup(this.questions);
}
现在它适用于变革。