我正在创建一个移动应用程序,我可以在其中从网页创建调查并将它们应用到 Ionic 的 android 设备上。我有一个按全音阶生成的调查表(也就是说,问题的数量和类型可能会有所不同)调查中可能出现的问题类型有:
- 真假
- 简要回答
- 多项选择
题型(题型可以重复,即我可以有两个真题或假题)
在创建我使用的表单时
*ngFor
,然后 [ngSwitch]
使用它们各自的表单*ngSwitchCase
来查看类型(所有类型字段都有一个真或假类型: name="vf" [(ngModel)]="Form.vf"
)=>我不知道如何用一种计数器动态输入名称问题是什么时候我想把 .Ts 中的数据只带一个,而不是两个
所以我声明了数组形式
public Form = {
cliente:"",
encueestaID:"",
usuarioid:"",
vf:[],
seleccionUnica:[],
seleccionMultiple:[],
tiempotipo:[],
tiempoCantidad:[],
cantidad:[]
};
我将字段保留为 vf:[] 以保存为数组
问题真的是我怎样才能让角度/离子检测到这个字段是一个数组?
我留下表格的代码
<ion-list *ngFor="let preguntas of LocalPreguntas">
<ion-card >
<ion-card-header color="primary">
{{ preguntas.pregunta}}
</ion-card-header>
<ion-card-content [ngSwitch]="preguntas.tipo">
<!-- Respuesta Breve-->
<ion-item *ngSwitchCase="1" >
<ion-input type="text" placeholder="Respuesta" name="breve[]" [(ngModel)]="Form.breve"></ion-input>
</ion-item>
<!-- Respuesta Cantidad-->
<ion-item *ngSwitchCase="2">
<ion-label fixed >Cantidad</ion-label>
<ion-input type="number" placeholder="0" name="cantidad" [(ngModel)]="Form.cantidad"></ion-input>
<ion-select name="tipoCantidad" [(ngModel)]="Form.tipoCantidad">
<div *ngFor="let items of tipo2">
<ion-option value="{{ items.dato }}">{{ items.dato }}</ion-option>
</div>
</ion-select>
</ion-item>
<!-- Respuesta Tiempo-->
<div *ngSwitchCase="3" >
<ion-list radio-group name="tiempotipo" [(ngModel)]="Form.tiempotipo" >
<div *ngFor="let items of tipo3">
<ion-item >
<ion-label color="dark">{{ items.dato }}</ion-label>
<ion-radio value="{{ items.dato }}"></ion-radio>
</ion-item>
</div>
</ion-list>
</div>
<!-- Respuesta Si o no-->
<div *ngSwitchCase="4" style="display:block" >
<ion-list radio-group name="vf[]" [(ngModel)]="Form.vf" required>
<ion-item >
<ion-label color="dark">Si</ion-label>
<ion-radio value="Si"></ion-radio>
</ion-item>
<ion-item >
<ion-label color="dark">No</ion-label>
<ion-radio value="No"></ion-radio>
</ion-item>
</ion-list>
</div>
<!-- RespuestaMultiple-->
<div *ngSwitchCase="5" style="display:block" >
<div *ngFor="let items of tipo5">
<ion-item >
<ion-label> {{ items.dato }}</ion-label>
<ion-toggle checked="false" ></ion-toggle>
</ion-item>
</div>
</div>
<!-- respuesta unica -->
<div *ngSwitchCase="6" style="display:block" >
<ion-list radio-group name="seleccionUnica" [(ngModel)]="Form.seleccionUnica" required>
<div *ngFor="let items of tipo6">
<ion-item >
<ion-label color="dark">{{ items.dato }}</ion-label>
<ion-radio value="{{ items.dato }}"></ion-radio>
</ion-item>
</div>
</ion-list>
</div>
</ion-card-content>
</ion-card>
</ion-list>
首先你必须创建响应数组
并将其从表单发送到数组的方式如下
如果你看,解决方案是放置 [] 以便将数据保存为数组