处理
在主JS代码之上附加以下代码 :
<script>
if (~navigator.userAgent.toLowerCase().indexOf('windowswechat')) {
delete window.ontouchstart
}
</script>
解析
mint-ui 判定是否是移动端源码
从源码可以看出,MintUI主要通过判断window
有无ontouchstart
属性来控制picker用鼠标滑动还是用touch滑动。
# mint-ui-master\packages\picker\src\draggable.js
// ....
const supportTouch = !Vue.prototype.$isServer && 'ontouchstart' in window;
// ....
原因
然而PC端企业微信内置浏览器window
下有ontouchstart
。导致内部判定用touch滑动。
这里首先想到的处理办法是判断是否是PC端企业微信内置浏览器,如果是则手动删除 window
下的 ontouchstart
。
// PC端正常浏览器
'ontouchstart' in window // false
// PC端企业微信内置浏览器
'ontouchstart' in window // true