Проблема с флажком Ionic 4 <ion-checkbox> блокирует другое событие клика в теге <ion-item>

Мы пытаемся поставить флажок и кнопку в одном ряду для нашего приложения для Android. Мы используем Ionic 4 и Cordova 9 для создания приложения Andriod.

поэтому мы использовали следующий фрагмент кода:

<ion-content>
<ion-item-sliding *ngFor="let test of testList">
<ion-item>

 <!-- check box to select user-->

<ion-checkbox color="secondary" [(ngModel)]="test.testId" 
(click)="selectUser(test .testId )" ng-true-value="right" ng-false- value="wrong" >    </ion-checkbox>

<!-- button  to view user-->

<ion-label text-wrap>
<h3>Test</h3>
<p>Test</p>
<button ion-button color="danger" block  (click)="viewUser(test .testId )">View User</button>
</ion-label>
</ion-item>
</ion-item-sliding>
</ion-content>

Когда мы нажимаем на кнопку, запускается событие щелчка флажка. Даже если мы щелкнем где-нибудь в строке, в этом случае вызывается событие щелчка флажка.

Любая помощь приветствуется.

Заранее спасибо.

1 ответ

Я проверил элемент ion-checkbox и результат, который является ошибкой или точно ошибкой реализации в отчете об ионных ионах.

Короче говоря, внутри ion-checkbox есть кнопка, которая запускает событие click, но у кнопки есть свойства css, чтобы принимать всю ширину и высоту ion-элемента, и эта кнопка находится внутри "shadow DOM", поэтому трудно переопределить ее свойства.

Но если вам нужно исправить это временно.

Я видел, что эта кнопка внутри ion-checkbox имеет свойство z-index: 2, поэтому присвойте ion-label z-index: 3, и при этом пространство кнопки не сработает, но пространство checkbox по-прежнему будет работать.

добавить на.scss вашей страницы

ion-label{
   z-index: 3;
}

Кроме того, рекомендуется отключить эффект при нажатии на область ионного элемента, что улучшит UX, потому что показывать этот эффект, если щелкнуть по пустому пространству и не запускать действие, плохо.

РЕДАКТИРОВАТЬ

Мои версии фреймворка.

Я надеюсь, что я помог:)

Другие вопросы по тегам