angular - 如何在离子角度中使用 [disabled] 和两个选项
问题描述
这是我的 page.html:
<ion-content *ngIf="charged">
Id ordine: {{order.id_acg}} Peso articolo(g): Altezza(cm): Larghezza(cm): lunghezza(cm):
<ion-list *ngFor="let riga of order.righe">
<ion-item>
<ion-label>Riga da preparare:<strong>{{riga.idRiga}}</strong> </ion-label>
<ion-checkbox [(ngModel)]="riga.checked" name="id_riga" value="option" (click)="onChange(option)"></ion-checkbox>
</ion-item>
</ion-list>
<ion-button color="success" type="submit" expand="block" [disabled]=" !f.valid && checkedItems.length <1 " >Crea spedizione
</ion-button>
<ion-button color="success" type="submit" expand="block" [disabled]=" !f.valid && checkedItems.length <1 " (* <== do something like that*)> Crea spedizione </ion-button>
我希望仅在编译所有输入并且选中几乎一个复选框时启用确认按钮,我知道这样做但分开,而不是一起。谢谢大家!!
更新:这是预览离子内容的形式:
<form #f="ngForm" (ngSubmit)="onUpdate()" class="ion-text-center ion-margin-bottom ion-margin-top">
<ion-card-title><strong> Id ordine: </strong>{{order.id_acg}}</ion-card-title>
<ion-item>
<ion-label>Peso articolo(g): </ion-label>
<ion-input required type="number" name="peso" [(ngModel)]="order.peso" placeholder="es: 1500"></ion-input>
</ion-item>
<ion-item>
<ion-label>Altezza(cm): </ion-label>
<ion-input required type="number" name="altezza" [(ngModel)]="order.altezza" placeholder="es: 0.60"></ion-input>
</ion-item>
<ion-item>
<ion-label>Larghezza(cm): </ion-label>
<ion-input required type="number" name="larghezza" [(ngModel)]="order.larghezza" placeholder="es: 0.30">
</ion-input>
</ion-item>
<ion-item>
<ion-label>lunghezza(cm): </ion-label>
<ion-input required type="number" name="lunghezza" [(ngModel)]="order.lunghezza" placeholder="es: 0.20">
</ion-input>
</ion-item>
<ion-list *ngFor="let riga of order.righe">
<ion-item>
<ion-label>ID Riga da preparare: <strong> {{riga.idRiga}}</strong> </ion-label>
<ion-checkbox [(ngModel)]="riga.checked" name="id_riga" value="option" (click)="onChange(option)"></ion-checkbox>
</ion-item>
</ion-list>
<ion-button color="success" type="submit" expand="block" [disabled]=" !(f.valid && checkedItems.length > 1)" >Crea spedizione
</ion-button>
解决方案
您可以使用这样的条件
至少有一个复选框被选中
[disabled]="!(f.valid && checkedItems.length > 1)"
需要检查所有复选框
[disabled]="!(f.valid && checkedItems.length == order.righe.length)"
将复选框更新为此
<ion-checkbox [(ngModel)]="riga.checked" name="id_riga" (ionChange)="onChange()"></ion-checkbox>
用这个更新 onChange 函数
onChange() {
this.checkedItems = this.order.righe.filter((d: any) => d.checked);
}
推荐阅读
- javascript - v-for 中的 Vue Js 文本输入都返回相同的输入
- swift - 将字符串更改为代码文本的可能性?
- python - While 语句继续循环,即使它在技术上不应该是可能的
- javascript - 如何在字符串中找到最长的匹配字母序列?
- java - 使用 spirng JPA 映射来自同一个表的两对元素
- javascript - React + Redux:开玩笑的测试失败
- android - 如何在最近屏幕上隐藏应用程序内容,同时允许在具有非标准导航手势的手机上截屏?
- java - Spring AOP/AspectJ 记录方法的执行时间,但如何将参数传递给它?(春季启动 API)
- python - 如何在while循环中等待函数完成?
- vba - 如何使用 VBA 在 Internet Explorer 中进行搜索?