弹框可滚动且阻止页面滚动

vue项目里,如果一个列表页面弹框,弹框内容很长,也需要滚动,这个时候就不能在弹框的DOM上加@touchmove.prevent,否则弹框内也禁止滚动了

这个时候得用js来控制根节点的样式来实现弹框显示时禁止根节点页面滚动,弹框消失时恢复根节点页面滚动。

复制代码
data: {
     showTip = false
},       
watch: {
        showTip(v){
            const dom = document.querySelector('.content-wrapper')
            //如果提示框显示,就把页面根节点设为不可滚动,弹框消失可以滚动
            if (v) {
                dom.style.height = '100vh' // 设备视口高度
                dom.style.overflow = 'hidden'
            } else {
                dom.style.height = 'unset'
                dom.style.overflow = 'unset'
            }
        }
    }
复制代码

 

posted @   方小川  阅读(210)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示