我有ion-item
,其中包含ion-checkbox
和ion-labels
元素,并且在a
中具有ion-label
元素:
<ion-item class="userAgreement" text-wrap no-border no-lines>
<ion-checkbox formControlName="agreementCheckbox"></ion-checkbox>
<ion-label>I accept the terms of
<a (click)="GoToUserAgreementPage()" class="linkText">User
Agreement</a>
</ion-label>
</ion-item>
复选框本身是可单击的,但是当我单击User agreement
中的ion-label
文本时,整个ion-item
都会被单击,并且会影响复选框。我希望复选框仅在单击时才可单击,并且只能在a
元素inside ion-label
内的那部分文本上单击。
答案 0 :(得分:0)
如果您查看Ionic docs,实际上就是带有包裹在离子项目中的标签的复选框的工作原理。
要获得所需的行为,请勿将复选框和标签包裹在离子项目中,而应重新创建离子项目的外观。因此,您可以使用display: flex
或网格。
使用display: flex
和一些内联样式的原始草稿看起来像这样:
<div style="align-items: center; display: flex">
<ion-checkbox style="padding-right: 10px" formControlName="agreementCheckbox"></ion-checkbox>
<ion-label>I accept the terms of
<a (click)="GoToUserAgreementPage()" class="linkText">User Agreement</a>
</ion-label>
</div>
答案 1 :(得分:0)
尝试将ion-checkbox
包装在另一个ion-item
中。在我看来,父级ion-item
不会将点击事件传播到子级ion-item
内的任何控件。
单击子级ion-item
将按预期方式切换该复选框。
<ion-item class="userAgreement" text-wrap no-border no-lines>
<ion-item>
<ion-checkbox formControlName="agreementCheckbox"></ion-checkbox>
</ion-item>
<ion-label>I accept the terms of
<a (click)="GoToUserAgreementPage()" class="linkText">User Agreement</a>
</ion-label>
</ion-item>