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