如何将el-table的滚动条位置记录并复现的示例代码改写成长尾词?

2026-04-05 20:122阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计378个文字,预计阅读时间需要2分钟。

如何将el-table的滚动条位置记录并复现的示例代码改写成长尾词?

场景重现:项目中使用了keep-alive来缓存组件,并使用element中的table列表示例。但项目中对table进行了两次封装,与页面代码合并在一起。尝试直接对scrollTop赋值,赋值失败。

场景重现:在项目中使用了keep-alive来缓存组件,且使用element中的table列表,但在项目中是对table进行了二次封装,跟页码合在了一起。按照网上的直接对scrollTop赋值,赋值失败了,还要加上setTimeout才能成功,虽然实现了功能,但是不知道原因,可以的话希望有人能解答。

废话少说,直接赋上代码。

<template> <div class="table"> <el-table ref="table"> ... </el-table> <wp-pager @page-change="pageChange" :total="total" v-if="pager" v-bind="$attrs" v-on="$listeners"></wp-pager> </div> </template> <script> import { WpPager } from '../pager' export default { data() { return { scrollTop: null } }, activated() { this.saveScroll() }, mounted() { // 监听滚动条的位置 this.$refs.table.bodyWrapper.addEventListener('scroll', (res) => { let height = res.target this.scrollTop = height.scrollTop },false) }, beforeDestroy() { this.$refs.table.bodyWrapper.removeEventListener('scroll', (res) => { let height = res.target this.scrollTop = height.scrollTop },false) }, methods: { // 当页码改变的时候滚动条重新到顶部 pageChange (page) { this.$emit('page-change', page) this.scrollTop = 0 this.saveScroll() }, // 这里如果直接赋值给this.$el.querySelector('.el-table__body-wrapper').scrollTop会失效,需要加上setTimeout才行。 saveScroll() { this.$nextTick(()=> { setTimeout(() => { var scrollTop = this.$el.querySelector('.el-table__body-wrapper') scrollTop.scrollTop = this.scrollTop }, 13) }) } } } </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

如何将el-table的滚动条位置记录并复现的示例代码改写成长尾词?

本文共计378个文字,预计阅读时间需要2分钟。

如何将el-table的滚动条位置记录并复现的示例代码改写成长尾词?

场景重现:项目中使用了keep-alive来缓存组件,并使用element中的table列表示例。但项目中对table进行了两次封装,与页面代码合并在一起。尝试直接对scrollTop赋值,赋值失败。

场景重现:在项目中使用了keep-alive来缓存组件,且使用element中的table列表,但在项目中是对table进行了二次封装,跟页码合在了一起。按照网上的直接对scrollTop赋值,赋值失败了,还要加上setTimeout才能成功,虽然实现了功能,但是不知道原因,可以的话希望有人能解答。

废话少说,直接赋上代码。

<template> <div class="table"> <el-table ref="table"> ... </el-table> <wp-pager @page-change="pageChange" :total="total" v-if="pager" v-bind="$attrs" v-on="$listeners"></wp-pager> </div> </template> <script> import { WpPager } from '../pager' export default { data() { return { scrollTop: null } }, activated() { this.saveScroll() }, mounted() { // 监听滚动条的位置 this.$refs.table.bodyWrapper.addEventListener('scroll', (res) => { let height = res.target this.scrollTop = height.scrollTop },false) }, beforeDestroy() { this.$refs.table.bodyWrapper.removeEventListener('scroll', (res) => { let height = res.target this.scrollTop = height.scrollTop },false) }, methods: { // 当页码改变的时候滚动条重新到顶部 pageChange (page) { this.$emit('page-change', page) this.scrollTop = 0 this.saveScroll() }, // 这里如果直接赋值给this.$el.querySelector('.el-table__body-wrapper').scrollTop会失效,需要加上setTimeout才行。 saveScroll() { this.$nextTick(()=> { setTimeout(() => { var scrollTop = this.$el.querySelector('.el-table__body-wrapper') scrollTop.scrollTop = this.scrollTop }, 13) }) } } } </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

如何将el-table的滚动条位置记录并复现的示例代码改写成长尾词?