离子网内的离子复选框使网格空白

chr*_*oes 6 ionic2 angular

我有以下HTML:

<ion-item-sliding *ngFor="let item of playlist.data | filterBy: filter; let i = index;">
  <ion-item class="playlist-modal-item">
    <ion-grid>
      <ion-row>
        <ion-col col-4>
          <h2>{{ item.name }}</h2>
          <p>{{ item.artist }}</p>
        </ion-col>
        <ion-col col-4>
        </ion-col>
        <ion-col col-4>
          <ion-checkbox [(ngModel)]="playlist.data[i].selected"></ion-checkbox>
        </ion-col>
      </ion-row>
    </ion-grid>
  </ion-item>
  <ion-item-options side="right">
    <button ion-button>Play Next</button>
  </ion-item-options>
  <ion-item-options side="left">
    <button ion-button>Play Last</button>
  </ion-item-options>
</ion-item-sliding>
Run Code Online (Sandbox Code Playgroud)

我的问题在于<ion-checkbox [(ngModel)]="playlist.data[i].selected"></ion-checkbox>线路.如果我删除此行,它将按预期工作,不带复选框.当我添加复选框行时,列表项会针对数组中的每个项重复,但每个项的内容都是空白的.

我也试过这样做:<ion-checkbox [(ngModel)]="item.selected"></ion-checkbox>也做同样的事情.

控制台中没有显示错误,我知道属性都是正确的并且已填充.该item.selected物业也已默认为虚假.

编辑:为了澄清,当我有复选框时,列表项会重复,但每个项目的内容都是空的,但只有当复选框行在那里时.

JSON看起来像这样:

playlist = {
    data: [
        {
            name: 'foo',
            artist: 'bar',
            selected: false
        },
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

编辑:filterBy不是问题,当我删除它时它做同样的事情.

AJT*_*T82 8

正如在离子框架论坛中所说的那样

内部意外的事情<ion-item>需要正确标记.item-content为每个<ion-grid>元素添加属性

所以这个问题真的有一个简单的解决方案,只需像上面建议的那样添加item-content到你的ion-grid标签:

<ion-grid item-content>
Run Code Online (Sandbox Code Playgroud)

然后它就像一个魅力!演示: http ://plnkr.co/edit/gw7h5mW3OJbPxw6xC3vb?p=preview