我有以下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不是问题,当我删除它时它做同样的事情.
内部意外的事情
<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
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |