离子 2 中 JSON 的动态形式
Dynamic form from JSON in ionic 2
我的 JSON 数组看起来像
Array(3)
main2=
[
0:{label: "Name", datatype: "text", lookupname: "null", order: 01"}
1: {label: "DOB", datatype: "date", lookupname: "null", order: "02"}
2: {label: "QRcode", datatype: "qrcode", lookupname: "null", order: "02"}
3: {label: "Image", datatype: "image", lookupname: "null", order: "02"}
]
我尝试根据 datatype.But 生成输入表单我不能在循环内包含按钮,没有 HTML 标签在循环内工作,只有像 ion-something 这样的标签 working.Like当循环内的数据类型为条形码或二维码时添加按钮
我的 HTML 在 ionic
<form>
<ion-item *ngFor="let item of main2">
<ion-label fixed>{{item.label}} : </ion-label>
<ion-input type="text" name="title" *ngIf='item.datatype == "text"'></ion-input>
<ion-input type="text" *ngIf='item.datatype == "radio"'>Checkbox 1</ion-input>
<ion-input type="number" *ngIf='item.datatype == "number"'></ion-input>
<ion-datetime displayFormat="MMMM/DD/YYYY" *ngIf='item.datatype == "date"'></ion-datetime>
<ion-input type="file" name="title" *ngIf='item.datatype == "image"'></ion-input>
<ion-datetime displayFormat="HH:mm" *ngIf='item.datatype == "time"'></ion-datetime>
<ion-input type="number" *ngIf='item.datatype == "number"'></ion-input>
<ion-input type="text" *ngIf='item.datatype == "qrcode"' ></ion-input>
<ion-input type="text" *ngIf='item.datatype == "barcode"'></ion-input>
</form>
您的 JSON 数组缺少一个 " for order field of:
0:{label: "Name", datatype: "text", lookupname: "null", order: 01"}
您的 html 缺少 <ion-item>
的结束标记
添加按钮:
(选项 A)离子项中的按钮:您必须使用特定语法 item-left
或 item-right
(https://ionicframework.com/docs/2.3.0/api/components/item/Item/)
(Option B)Ion-item as button: 你可以选择把ion-item做成按钮
HTML
<ion-content>
<form *ngFor="let item of main2">
<ion-item>
<ion-label fixed>{{item.label}} : </ion-label>
...
//Option A
<button ion-button item-right *ngIf='item.datatype == "qrcode"'>Btn</button>
</ion-item>
//Option B
<button ion-item *ngIf='item.datatype == "qrcode"' (click)="test()">{{item.label}} Button</button>
</form>
</ion-content>
我的 JSON 数组看起来像
Array(3)
main2=
[
0:{label: "Name", datatype: "text", lookupname: "null", order: 01"}
1: {label: "DOB", datatype: "date", lookupname: "null", order: "02"}
2: {label: "QRcode", datatype: "qrcode", lookupname: "null", order: "02"}
3: {label: "Image", datatype: "image", lookupname: "null", order: "02"}
]
我尝试根据 datatype.But 生成输入表单我不能在循环内包含按钮,没有 HTML 标签在循环内工作,只有像 ion-something 这样的标签 working.Like当循环内的数据类型为条形码或二维码时添加按钮
我的 HTML 在 ionic
<form>
<ion-item *ngFor="let item of main2">
<ion-label fixed>{{item.label}} : </ion-label>
<ion-input type="text" name="title" *ngIf='item.datatype == "text"'></ion-input>
<ion-input type="text" *ngIf='item.datatype == "radio"'>Checkbox 1</ion-input>
<ion-input type="number" *ngIf='item.datatype == "number"'></ion-input>
<ion-datetime displayFormat="MMMM/DD/YYYY" *ngIf='item.datatype == "date"'></ion-datetime>
<ion-input type="file" name="title" *ngIf='item.datatype == "image"'></ion-input>
<ion-datetime displayFormat="HH:mm" *ngIf='item.datatype == "time"'></ion-datetime>
<ion-input type="number" *ngIf='item.datatype == "number"'></ion-input>
<ion-input type="text" *ngIf='item.datatype == "qrcode"' ></ion-input>
<ion-input type="text" *ngIf='item.datatype == "barcode"'></ion-input>
</form>
您的 JSON 数组缺少一个 " for order field of:
0:{label: "Name", datatype: "text", lookupname: "null", order: 01"}
您的 html 缺少
<ion-item>
的结束标记
添加按钮:
(选项 A)离子项中的按钮:您必须使用特定语法 item-left
或 item-right
(https://ionicframework.com/docs/2.3.0/api/components/item/Item/)
(Option B)Ion-item as button: 你可以选择把ion-item做成按钮
HTML
<ion-content>
<form *ngFor="let item of main2">
<ion-item>
<ion-label fixed>{{item.label}} : </ion-label>
...
//Option A
<button ion-button item-right *ngIf='item.datatype == "qrcode"'>Btn</button>
</ion-item>
//Option B
<button ion-item *ngIf='item.datatype == "qrcode"' (click)="test()">{{item.label}} Button</button>
</form>
</ion-content>