|
|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<view>
|
|
|
- <view @longpress.stop="onLongPress($event)" @touchmove="onTouchMove">
|
|
|
+ <view @longpress.stop="onLongPress($event)" @touchmove="onTouchMove" @touchend="onTouchEnd">
|
|
|
<slot></slot>
|
|
|
</view>
|
|
|
<view v-if="isShowMenu" class="pop-menu" @touchstart="onClose()" @contextmenu.prevent=""></view>
|
|
|
@@ -19,6 +19,7 @@
|
|
|
data() {
|
|
|
return {
|
|
|
isShowMenu : false,
|
|
|
+ isTouchMove: false,
|
|
|
style : ""
|
|
|
}
|
|
|
},
|
|
|
@@ -29,6 +30,10 @@
|
|
|
},
|
|
|
methods: {
|
|
|
onLongPress(e){
|
|
|
+ if(this.isTouchMove){
|
|
|
+ // 屏幕移动时不弹出
|
|
|
+ return;
|
|
|
+ }
|
|
|
uni.getSystemInfo({
|
|
|
success: (res) => {
|
|
|
let touches = e.touches[0];
|
|
|
@@ -53,7 +58,11 @@
|
|
|
})
|
|
|
},
|
|
|
onTouchMove(){
|
|
|
- this.onClose()
|
|
|
+ this.onClose();
|
|
|
+ this.isTouchMove = true;
|
|
|
+ },
|
|
|
+ onTouchEnd(){
|
|
|
+ this.isTouchMove = false;
|
|
|
},
|
|
|
onSelectMenu(item) {
|
|
|
this.$emit("select", item);
|
|
|
@@ -84,6 +93,7 @@
|
|
|
background-color: #333;
|
|
|
z-index: 999;
|
|
|
opacity: 0.5;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
.menu {
|
|
|
@@ -108,6 +118,4 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
</style>
|