最近在写微信小程序的时候用到了模态弹窗,但是发现微信官方给的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执行对应弹窗的事件
弹窗的显示逻辑就是这样,然后样式的话大家可以随意自定义,相信大家可以玩出更多的花样。

最后喜欢这个插件的话就给点个赞呗!
|