最近在寫微信小程序的時候用到了模態彈窗,但是發現微信官方給的wx.showModal(OBJECT)可自定義性還是太少,滿足不了某些情況下的需求。
比如,用戶點擊了蒙層,而不是點擊取消按鈕,彈窗也會去執行取消事件,并且將彈窗關閉。文檔里并沒有屏蔽蒙層點擊事件的屬性,也沒有辦法通過其他的方式去屏蔽。
所以就寫了一個可隨意自定義的第三方彈窗插件【wxPopup】
使用方法也很簡單,在要調用彈窗的位置使用this.showModel()方法,傳入一些參數,就可以將彈窗顯示出來。
-
this.showModel({
-
ModelId: 1,
-
ModelTitle: '標題(2)',
-
ModelContent: '感謝使用wxPoput自定義模態彈窗,一個可以隨意自定義樣式的微信小程序彈窗插件。已經開源到GitHub上。'
-
})

彈窗的取消事件
-
//取消事件
-
ancel: function(e){
-
if (e.currentTarget.dataset.modelid == 0){
-
console.log("用戶點擊了取消(1)")
-
} else if (e.currentTarget.dataset.modelid == 1){
-
console.log("用戶點擊了取消(2)")
-
}
-
}
彈窗的確定事件
-
//確定事件
-
confirm: function(e){
-
if (e.currentTarget.dataset.modelid == 0) {
-
console.log("用戶點擊了確定(1)")
-
} else if (e.currentTarget.dataset.modelid == 1) {
-
console.log("用戶點擊了確定(2)")
-
}
-
//關閉模態彈窗
-
this.setData({
-
isShowModel: false
-
})
-
}
可以通過判斷e.currentTarget.dataset.modelid執行對應彈窗的事件
彈窗的顯示邏輯就是這樣,然后樣式的話大家可以隨意自定義,相信大家可以玩出更多的花樣。

最后喜歡這個插件的話就給點個贊唄!
|