vue获取dom元素的宽高

vue获取dom元素的宽高,第1张

在mounted写 因为我是html标签可以不用加 el(如果是html标签就不用加)

offsetWidth //返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距)

offsetHeight //返回元素的高度(包括元素高度、内边距和边框,不包括外边距)

clientWidth //返回元素的宽度(包括元素宽度、内边距,不包括边框和外边距)

clientHeight //返回元素的高度(包括元素高度、内边距,不包括边框和外边距)

stylewidth //返回元素的宽度(包括元素宽度,不包括内边距、边框和外边距)

styleheight //返回元素的高度(包括元素高度,不包括内边距、边框和外边距)

scrollWidth //返回元素的宽度(包括元素宽度、内边距和溢出尺寸,不包括边框和外边距),无溢出的情况,与clientWidth相同

scrollHeigh //返回元素的高度(包括元素高度、内边距和溢出尺寸,不包括边框和外边距),无溢出的情况,与clientHeight相同

先设置元素的ref,如 <div style="height: 500px" ref="tablewrap" ></div>,要获取该元素高度,必须先给该元素设置css高度

再用  windowgetComputedStyle(this$refstablewrap)height  获取

注意:用this$refs获取dom元素高度,必须在mounted钩子中,如下:

mounted() {

        consolelog(windowgetComputedStyle(this$refstablewrap)height)

}

给element表格设置动态高度,就可以用上述方法

在data中定义变量

最后,在mounted钩子中设置表格的高度

在template中定义ref,与setup中命名要一样

在setup中要定义ref与template中名字一样,在onMounted中去 *** 作元素,因为setup是相当于create,那是页面还没渲染,所以要在onmounted中去 *** 作。要记得将元素return 不然没效果

在vue的开发过程中,常常需要 *** 作表格元素,比如数据的分页呈现,某行数据的修改、删除等 *** 作,不可避免的需要 *** 作某行数据,本文描述了这一过程

首先,我们全局引入ant-design-vue,本文简称为antd,为蚂蚁金服推出的一款UI组件,在mainjs中添加即可。

下面我们使用antd的表格组件,在dom元素中定义表格相关属性及数据的来源信息等。

dataSource为数据的来源,格式为数组,我们通过ajax的方式请求后台获取数据。

列信息需要和返回对象的属性对应,如果有些列不是对象的属性,比如 *** 作列,可以通过增加scopedSlots的方式。

名称为action的插槽(slot),需要在dom元素中进行设置,添加在a-table的子元素中。slot-scope="text,record"中的record就是这行的数据值。

我们通过F12进行调试,将record的信息进行打印,不难发现,record确实记录了这行的数据信息

直接在标签中添加click事件(@click=fn),然后在vue实例中的(methods)配置项里添加方法fn,实现你的功能。这样不行吗?vue框架不是不能用原生js获取dom元素,只是用框架就是为了避免 *** 作dom元素

以上就是关于vue获取dom元素的宽高全部的内容,包括:vue获取dom元素的宽高、vue 中用this.$refs获取dom元素高度,给element表格设置动态高度、vue3 setup中获取元素高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10219086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存