离子 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>
  1. 您的 JSON 数组缺少一个 " for order field of:

    0:{label: "Name", datatype: "text", lookupname: "null", order: 01"}

  2. 您的 html 缺少 <ion-item>

  3. 的结束标记
  4. 添加按钮:

(选项 A)离子项中的按钮:您必须使用特定语法 item-leftitem-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>