cube-ui 自定義dialog一閃而過的問題

問題描述

以前這個 dialog 在測試頁的時候是能正常彈出而且顯示的。
某個頁面點擊某個div時彈出自定義的dialog,發現這個dialog 並無顯示,有點奇怪。 bash

問題排查

一開始以爲有多是dialog顯示了被遮擋住了,因此看起來沒有顯示。而後修改z-index屬性,發現仍是同樣的效果。 看來問題沒有這麼簡單,仍是仔細的分析一下... 最外層是個cube-slide,cube-slide-item 裏面的div 觸發點擊彈出 自定義的dialog。dialog自己顯示是沒有問題的,多是受到了其它組件的影響。而後我增長了一些打印,dialog的顯示和隱藏的函數進行打印。 ide

打印看到的時候,才發現原來是dialog被隱藏了.. 是否是代碼哪裏調用了hidedialog函數,發現並無地方主動調用。

仔細想一想感受應該是致使了點擊事件觸發了兩次。也只有多是cube-slide會影響。帶着問題繼續去探索,cube-slide 是一個基於 better-scroll 進行封裝的組件。 options 是 better-scroll 配置項,項目裏的代碼配置以下:函數

slideOptions: {
        listenScroll: true,
        probeType: 3,
        directionLockThreshold: 0,
        eventPassthrough: 'vertical'
      }
複製代碼

click默認是沒有影響的。測試

這個屬性我註釋掉了,發現 dialog 終於顯示出來了。。 可是這個屬性,我以爲也是有必要加的而後就增長了click:false dialog也是能夠正常顯示的。spa

總結

這個問題是同事讓我幫忙看的,排查問題仍是要一點點去慢慢確認問題。這種看似很奇怪的問題,更須要耐心。3d

相關文章
相關標籤/搜索