离子/角复选框定制逻辑
问题描述:
我写在离子2.一个小应用程序在这个程序,我有一个“Checkboxmodal”,可以在我APPSTATE元素列表创建一个选择。离子/角复选框定制逻辑
在HTML:
<ion-list>
<ion-item *ngFor="let key of itemDic.keys()">
<ion-label>{{itemDic.get(key)}}</ion-label>
<ion-checkbox (click)="toggleItem(key)" value="key" [checked]="selectedItems.indexOf(key) > -1"></ion-checkbox>
</ion-item>
</ion-list>
的切换方法:
// Data used
this.itemDic = ... // local. saves possible options
this.selectedItems = ... // reference to appstate (global object). saves the selected values
// toggle function
toggleItem(item: any) {
if(searchState.contains(...)) {
searchState.remove(...);
} else {
if (this.selectedItems.length >= this.maxItems)
return;
searchState.set(...);
}
}
时,我想在一次扩展其功能,只允许X的选择,我遇到了下面的问题:
- 数据绑定似乎不起作用
- 角将更新的观点,即使我的功能并没有改变模型
我怎么可以:更改视图或数据
- 停止角/离子
- 决定对自己的模型的变化
- 只显示数据的作为结合
答
我只是看起来,没有办法实现,我想要的。我“解决”与其他方法的问题:
<ion-checkbox
(click)="toggleItem(key)"
value="key"
[disabled]="selectedItems.indexOf(key) === -1 && selectedItems.length >= 3"
[checked]="selectedItems.indexOf(key) > -1">
</ion-checkbox>
我发现,你可以禁用的复选框,通过结合残疾人财产。所以我只检查当前的复选框
- 没有被选中
- 超过最大复选框被检查
,并禁用它,如果双方都是如此。
如果有人知道一个更好的办法,请张贴。