Saya ingin menerapkan beberapa pilihan pada beberapa item (daftar ion-item-sliding) ketika salah satunya ditekan selama beberapa detik dengan menambahkan (press) ke setiap ion-item-sliding dan tampaknya acara pers adalah tidak pernah dipecat. Saya memindahkan acara pers ke ion-item tetapi tidak ada yang terjadi. Kemudian saya mencoba menguji langsung acara pers pada ion-button dan menemukan bahwa acara pers adalah masalahnya karena ketika saya mengubahnya menjadi klik, itu berfungsi dengan baik. Inilah yang saya coba:

<ion-button (press)="itemPressed()">Test</ion-button>
itemPressed() {
    console.log("expecting to work");
}
0
Michaël Randria 5 Januari 2021, 08:57

3 jawaban

Jawaban Terbaik

Selain jawaban @ Arj 1411, tambahkan HammerModule dalam impor '@angular/platform-browser' dan ini harus berfungsi.

2
Bary 5 Januari 2021, 06:57

Hai, Anda dapat menerapkan tekan lama dengan Hammer.js

1.instal Hammer.js dari npm install hammerjs — save

2.pada file src/main.ts buat perubahan seperti berikut

 import { enableProdMode } from '@angular/core';
    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
    import { AppModule } from './app/app.module';
    import { environment } from './environments/environment';
    **import "hammerjs";** 
    
    if (environment.production) {
      enableProdMode();
    }
platformBrowserDynamic().bootstrapModule(AppModule)   .catch(err => console.log(err));

3.pada template dan file komponen Anda

<ion-button (press)="onPress($event)" (pressup)="onPressUp($event)"> Test </ion-button>

onPress($event) {
    console.log("onPress", $event);
}

onPressUp($event) {
    console.log("onPressUp", $event);
}

Coba ini. Jika ini tidak berfungsi seperti yang diharapkan, beri tahu saya. Saya akan mengedit jawaban saya

1
Arj 1411 5 Januari 2021, 06:27

Saya pikir Anda dapat menggunakan acara ketuk dan klik seperti yang disebutkan di bawah ini daripada menggunakan pers.

<ion-button (click)="itemPressed()">Test</ion-button> 

Atau

<ion-button tappable (tap)="itemPressed()">Test</ion-button> 

Jika Anda ingin menggunakan acara pers lama. ada plugin NPM yang tersedia di url di bawah ini, Anda dapat menggunakannya .. ini dapat membantu Anda.

https://www.npmjs.com/package/ionic-long-press

Acara pers lama ionik pada kartu

1
Taylor Rahul 5 Januari 2021, 07:40