mint-ui 企业微信PC端内置浏览器 Picker 无法滚动

处理

在主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

猜你喜欢

转载自www.cnblogs.com/jundong/p/9263503.html