微信小程序自定义支持图片的弹窗
本文实例为大家分享了微信小程序自定义支持图片的弹窗,供大家参考,具体内容如下
为index.wxml添加如下图代码:(微信小程序-canvas层级最高问题,如何超越canvas的层级,只能使用cover-view标签)
弹窗 {{modal.title}} {{modal.cancel}} {{modal.ok}}
修改样式文件index.wxss,样式代码如下图所示:
/index.wxss/
.show-btn{ margin-top:100rpx; color:#22cc22; } .modal-mask{ width:100%; height:100%; position:fixed; top:0; left:0; background:#000; opacity:0.5; overflow:hidden; z-index:9000; color:#fff; } .modal-dialog{ width:540rpx; overflow:hidden; position:fixed; top:50%; left:0; z-index:9999; background:#f9f9f9; margin:-180rpx105rpx; border-radius:36rpx; } .modal-title{ padding-top:50rpx; font-size:36rpx; color:#030303; text-align:center; } .modal-content{ padding:50rpx32rpx; } .modal-input{ display:flex; background:#fff; border:2rpxsolid#ddd; border-radius:4rpx; font-size:28rpx; } .input{ width:100%; height:82rpx; font-size:28rpx; line-height:28rpx; padding:020rpx; box-sizing:border-box; color:#333; } input-holder{ color:#666; font-size:28rpx; } .modal-footer{ display:flex; flex-direction:row; height:86rpx; border-top:1pxsolid#dedede; font-size:34rpx; line-height:86rpx; } .btn-cancel{ width:50%; color:#666; text-align:center; border-right:1pxsolid#dedede; } .btn-confirm{ width:50%; color:#ec5300; text-align:center; }
index.js代码如下图所示:
//index.js //获取应用实例 varapp=getApp() Page({ data:{ showModal:false, }, onLoad:function(){ }, /** *弹窗 */ showDialogBtn:function(){ this.setData({ showModal:true }) }, /** *弹出框蒙层截断touchmove事件 */ preventTouchMove:function(){ }, /** *隐藏模态对话框 */ hideModal:function(){ this.setData({ showModal:false }); }, /** *对话框取消按钮点击事件 */ onCancel:function(){ this.hideModal(); }, /** *对话框确认按钮点击事件 */ onConfirm:function(){ this.hideModal(); } })
运行,可以看到修改样式后的效果
这里有个要特别注意的地方,就是下面这个方法:
preventTouchMove:function(){}
为什么是空方法?因为要结合界面wxml看,蒙层view里有一个事件绑定
catchtouchmove="preventTouchMove"。
这养写的原因是阻断事件向下传递,避免在弹窗后还可以点击或者滑动蒙层下的界面。
如果不这样写的话,如果主界面是一个可以滚动的界面,想想看,当弹窗弹出的时候用户还可以操作滚动列表。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。