Vue中父组件滚动条出现在子组件上的解决方案

问题描述
  • 当我们在使用vue 的时候,可能会遇到当你在父组件上调用了其他子组件的时候,这个子组件明明不应该有滚动条,却显示了滚动条,而且上下拖动还会影响父组件的滚动条,这对网页的实际使用产生了不好的影响
楼主的情况
  • 有一个命名为a的父组件
<template>
  <div>
      <detail-banner></detail-banner>
      <detail-header></detail-header>
      <div class="content">
        <detail-list :list="list"></detail-list>
      </div>
  </div>
</template>
  • 里面引用了detail-banner这个子组件,在这个组件中使用了两个页面,通过点击来显示和隐藏图册common-gallary
<template>
  <div>
    <div class="banner" @click="handleClick">
      ......
    </div>
    <common-gallary :imgs="imgs" v-show="showGallary"  @back="handleBack"></common-gallary>
  </div>
</template>
  • 这个图册是铺满屏幕的,本应该没有滚动条,却显示出了父组件的滚动条

在这里插入图片描述

  • 可以看到盒子是屏幕大小,但是却出现了滚动条,而且上下拖动后返回会影响父组件a的滚动情况
解决方案
  • 使用一个名为vue-scroll-lock的插件
具体步骤
  • 安装vue-scroll-lock
    • npm i vue-scroll-lock
  • 在main.js中引入
    • import VueScrollLock from ‘vue-scroll-lock’
    • 配置Vue.use(VueScrollLock)
  • 在想要消除滚动条影响的父组件里(这里是a组件)使用scroll-lock标签包裹内容即可
GitHub链接

vue-scroll-lock

记录学习生活~如果对您有帮助的话,何不点个赞再走呢

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值