我想在多个项目上实现多选(ion-item-sliding
的列表)当通过将(press)
添加到每个ion-item-sliding
来按下其中一个几秒钟时,似乎从未触发按下事件。我将按下事件移动到ion-item
,但仍然没有发生任何事件。然后我尝试在ion-button
上直接测试press事件,发现press事件是问题所在,因为当我将其更改为click时,它工作得很好。
<ion-button (press)="itemPressed()">Test</ion-button>
itemPressed() {
console.log("expecting to work");
}
5条答案
按热度按时间cxfofazt1#
除了@Arj 1411的答案之外,在“@angular/platform-browser”导入中添加
HammerModule
,这应该是可行的。yqyhoc1h2#
嗨,您可以使用
Hammer.js
实现长按1.从
npm install hammerjs — save
安装Hammer.js2.对
src/main.ts
文件进行如下更改3.在模板和组件文件上
试试这个。如果这个不像预期的那样工作,让我知道。我会编辑我的答案
yv5phkfx3#
我认为您可以使用下面提到的tap和click事件来代替press。
或
如果你想使用长按事件。有NPM插件avilable在下面的网址你可以使用..这可以帮助你。
https://www.npmjs.com/package/ionic-long-press
Ionic long press event on cards
zsbz8rwp4#
最好的解决方案实际上是使用
contextmenu
事件而不是press
。这是本机支持的,因此不需要HammerJS(或其他任何东西)。ttisahbt5#
目前,对于离子6来说,这可能是最好的选择
https://forum.ionicframework.com/t/ionic-5-long-press-gesture-example/188746/7
它的工作原理就像一个魅力,你不需要安装任何模块.