vue3 $refs修改scrollLeft或scrollTop不成功值为0

今天范了了一个很低级的错误,本身想用element ui来做横向滚动条,结果改样式与事件均不符合个人需要。于是自己重构scroll,为了在vue3中修改scrollLeft,找了很久文档都没找到结果,无论怎样获取及设置xx.value.scrollLeft的值都为0。

# template
<div class='box' ref='box' >
    <div class='content' ref='content'>
    …横向展示的内容
    </div>
</div>

解决办法

样式自己写,主要样式说明

  1. box 的display:inline-block,
  2. content的display:inline-flex,
  3. 以上是这了将content样式获取到他的宽度。只有content div的宽度大于box宽度后才能获得或设置xx.value.scrollLeft

vue3获取$refs元素

vue3中的steup中不能使用this.$refs,具体使用如下:

import {ref} form 'vue'
steup() {
   const box = ref(0) //div中定义的ref变量名
   console.log(box.value.scrollWidth)
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jquery介绍 jQuery是目前使用最广泛的javascript函数库 据统计,全世界排名前100万的网站,有...
    就是这么帅_567e阅读 5,002评论 0 0
  • (1)前端基础面试题 一、HTML 面试题 1、html 语义化? 阅读代码时能根据标签理解你的用意,便于阅读 方...
    Coder__T阅读 3,593评论 0 5
  • HTML/CSS 1. 盒模型 标准盒模型width 和 height 是内容区域即 content 的 widt...
    一蓑烟雨任平生_cui阅读 7,024评论 4 15
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,292评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 11,810评论 0 2