ionic-team / ionic-framework

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
https://ionicframework.com
MIT License
51.12k stars 13.5k forks source link

Side menu needs double tap #11110

Closed e9li closed 7 years ago

e9li commented 7 years ago

Ionic version: (check one with "x") [ ] 1.x [ ] 2.x [x] 3.x

I'm submitting a ... (check one with "x") [x] bug report [ ] feature request [ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/

Current behavior: After updating from 3.0.0 to 3.0.1 a normal working link in the side menu now needs two taps to open a page on iOS devices or iSimulator with 10.3. This happens only in side menu, all other links I tried so far behaving normal with one tap.

Expected behavior: Only one tap or click as before

Related code:

<ion-menu [content]="content">
  <ion-content>
    <ion-list no-lines>
      <ion-item menuClose (click)="openPage('HomePage')">
        <ion-icon name="ios-home-outline" item-left></ion-icon>
        Home
      </ion-item>
    </ion-list>
  </ion-content>
</ion-menu>

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):

Cordova CLI: 6.5.0 
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0
ios-deploy version: 1.9.1 
ios-sim version: 5.0.13 
OS: macOS Sierra
Node Version: v7.6.0
Xcode version: Xcode 8.3 Build version 8E162
e9li commented 7 years ago

Changing <ion-item> to <button ion-item> solves the problem with the side menu. But I found another behavior that wasn't before 3.0.1. I have a list with <ion-card *ngFor="let car of carsArray" (click)="showCarDetail(car.link)"> the first tap works and takes to the detail page. After returning I have to double tap the be taken to the detail page. UPDATE: When waiting a few seconds after returning to the list it works with one tap as it should. Seem like there is a delay or something like that. SRC from sample app with this issue: src.zip

in the html file

<ion-card *ngFor="let car of carsArray" (click)="showCarDetail(car.link)">
        <img src="{{ car.img01 }}">
        <ion-card-content>
            <ion-card-title>{{ car.ART_MARKE }} {{ car.WST_TYP }}</ion-card-title>
            <p>{{ car.getriebe }}, {{ car.WAT_DID }}, {{ car.car_year }}, {{ car.WST_KM }} km</p>
            <p><strong>CHF {{ car.WST_NPBRUT }}</strong></p>
        </ion-card-content>
    </ion-card>

in the ts file

showCarDetail(id) {
        this.navCtrl.push(CarDetailPage, {id: id});
    }
chandanch commented 7 years ago

I tried in iOS 10 on iphone 6s and it works with a single tap.

Here is my side menu code:

<ion-menu [content]="favoriteChickenList" color="diamond" side="right" id="chickenMenu" type="overlay">
    <ion-header>
         <ion-toolbar>
            <ion-title color="vagera">My Chickens</ion-title>
         </ion-toolbar>
        <ion-buttons end>
            <button ion-button clear icon-right (click)="closeFavoriteChickenListMenu()">
                <ion-icon name="close"></ion-icon>
            </button>
        </ion-buttons>
    </ion-header>
    <ion-content>
        <button ion-item *ngFor="favoriteChicken of favoriteChickens">{{chicken.name}}</button>
    </ion-content>
</ion-menu>
jgw96 commented 7 years ago

Hello all. As this issue seems to have been fixed I am going to close this issue for now.

ionitron-bot[bot] commented 6 years ago

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.