微信小程序自定義模态彈窗插件 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

微信小程序自定義模态彈窗插件

發表時(shí)間:2021-3-31

發布人(rén):融晨科技

浏覽次數:101

最近在(zài)寫微信小程序的(de)時(shí)候用到(dào)了(le/liǎo)模态彈窗,但是(shì)發現微信官方給的(de)wx.showModal(OBJECT)可自定義性還是(shì)太少,滿足不(bù)了(le/liǎo)某些情況下的(de)需求。

比如,用戶點擊了(le/liǎo)蒙層,而(ér)不(bù)是(shì)點擊取消按鈕,彈窗也(yě)會去執行取消事件,并且将彈窗關閉。文檔裏并沒有屏蔽蒙層點擊事件的(de)屬性,也(yě)沒有辦法通過其他(tā)的(de)方式去屏蔽。

所以(yǐ)就(jiù)寫了(le/liǎo)一個(gè)可随意自定義的(de)第三方彈窗插件【wxPopup】

使用方法也(yě)很簡單,在(zài)要(yào / yāo)調用彈窗的(de)位置使用this.showModel()方法,傳入一些參數,就(jiù)可以(yǐ)将彈窗顯示出(chū)來(lái)。

  1. this.showModel({
  2. ModelId: 1,
  3. ModelTitle: '标題(2)',
  4. ModelContent: '感謝使用wxPoput自定義模态彈窗,一個(gè)可以(yǐ)随意自定義樣式的(de)微信小程序彈窗插件。已經開源到(dào)GitHub上(shàng)。'
  5. })

彈窗的(de)取消事件

  1. //取消事件
  2. ancel: function(e){
  3. if (e.currentTarget.dataset.modelid == 0){
  4. console.log("用戶點擊了(le/liǎo)取消(1)")
  5. } else if (e.currentTarget.dataset.modelid == 1){
  6. console.log("用戶點擊了(le/liǎo)取消(2)")
  7. }
  8. }

彈窗的(de)确定事件

  1. //确定事件
  2. confirm: function(e){
  3. if (e.currentTarget.dataset.modelid == 0) {
  4. console.log("用戶點擊了(le/liǎo)确定(1)")
  5. } else if (e.currentTarget.dataset.modelid == 1) {
  6. console.log("用戶點擊了(le/liǎo)确定(2)")
  7. }
  8. //關閉模态彈窗
  9. this.setData({
  10. isShowModel: false
  11. })
  12. }

可以(yǐ)通過判斷e.currentTarget.dataset.modelid執行對應彈窗的(de)事件

彈窗的(de)顯示邏輯就(jiù)是(shì)這(zhè)樣,然後樣式的(de)話大(dà)家可以(yǐ)随意自定義,相信大(dà)家可以(yǐ)玩出(chū)更多的(de)花樣。

最後喜歡這(zhè)個(gè)插件的(de)話就(jiù)給點個(gè)贊呗!

項目地(dì / de)址:https://gitee.com/zhangyubk/wxPoput

相關案例查看更多