我正在构建一个未知长度的表单。单个输入可以是文本,文件,文本区域类型,甚至可以选择。
我在* ngFor。
中使用* ngSwitch创建了一个解决方案json我正在填写表格:
[{
"name": "input1",
"type": "text"
}, {
"name": "input2",
"type": "file"
}, {
"name": "input3",
"type": "text"
}]
和代码:
<div *ngFor="let part of myForm">
<div [ngSwitch]="part.type">
<div *ngSwitchCase="'text'">
<input/>
</div>
<div *ngSwitchCase="'file'">
....
</div>
....
</div>
</div>
此代码的问题是无法为单个输入指定ngModel,因为如果有两个类型为text的输入,则ngModel将是重复的。
有没有办法可以像数组一样收集所有值?是否可以使用反应形式创建解决方案?