解决element ui drawer组件关闭后,滚动条不复原的问题

情况一:

项目需求原因,抽屉弹窗的内容比较多,所以在样式上

使用 ::v-deep .el-drawer__body {

  overflow: auto;

}

给组件增加滚动条,

问题出现:

每次抽屉组件关闭,再打开后滚动条的位置一直不复原。

解决:

        

在组件外再加一层 div 进行v-if 动态加载,这样每次动态值为false,该部分dom元素就会被销毁,

为true时,dom结构重新渲染,滚动条位置也将复原。

情况二:

        

 

需求方面,让抽屉组件包含上下页切换的内容,

问题: 

        每次点击上一步 或者下一步时,滚动条的位置也不换变化,比如上一页滚动条位置为50

那么点击到下一页时,滚动距离应该重新变为0!

解决:

   

  通过审查元素得知,滚动区域的类名为  “el-drawer__body” ,

所以我们通过 

document.querySelector(".el-drawer__body").scrollTo(0,0)

这一行代码来解决这个问题

解释:

document.querySelector:获取 el-drawer__body这个类名节点

 scrollTo()方法可以使界面滚动到给定元素的指定坐标位置。

scrollTo(0,0) 让滚动位置回到0坐标

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值