用阻止冒泡的方法实现
开发商城小程序有个需求,规格的选择采用view组件作弹层,当点view外部的区域可以关闭这个view弹层。
这个需求可以通过阻止冒泡来实现。
1. 在小程序的父容器view上设置bindtap事件。(mpvue对应为@tap)
2. 在子view,即弹层的view上设置catchtap事件就可以了。(mpvue对应为@tap.stopp)
参考文档:
用遮罩层的方法实现
上面介绍的方法可以实现需求,但参考京东、淘宝选择规格的弹层的关闭皆是借用遮罩层的方法去实现。大体方法是这样的:
1. 遮罩层view, 并加关闭的tap事件。css中设置top,left, 绝对定位、长宽100%及opacity=0.5、z-index、背景黑色
2. 弹层view(与遮罩层view是同级关系), z-index大于遮罩层的,宽100%,高设个比例,背景白色,绝对定位于下方
3. vue设个控制显示与隐藏的变量,
网友评论