vue3 el-table结合seamless-scroll实现表格数据滚动的思路详解
作者:954L
这篇文章主要介绍了vue3 el-table结合seamless-scroll实现表格数据滚动,创建两个table,隐藏第一个table的body部分,这样就能得到一个固定的head,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
github开源地址:https://github.com/xfy520/vue3-seamless-scroll
步骤
1. 安装
npm install vue3-seamless-scroll --save
2. vue代码
<template> <el-table :data="tableData" style="width: 100%" class="top" > <el-table-column prop="name" label="名称" align="center" /> <el-table-column prop="date" label="日期" align="center" /> <el-table-column prop="money" label="金额" align="center" /> </el-table> <vue3-seamless-scroll class="seamless-warp scroll" :list="tableData" :step="0.3" style="width: 100%"> <el-table :data="tableData" style="width: 100%" class="bottom" > <el-table-column prop="name" label="名称" align="center" /> <el-table-column prop="date" label="日期" align="center" /> <el-table-column prop="money" label="金额" align="center" /> </el-table> </vue3-seamless-scroll> </template> <script> import { defineComponent, reactive, onMounted, toRefs } from 'vue' import { Vue3SeamlessScroll } from "vue3-seamless-scroll"; export default defineComponent({ components: { Vue3SeamlessScroll }, setup() { const state = reactive({ tableData: null, }) onMounted(() => { setTimeout(() => { state.tableData = [ { date: '2022-05-03', name: '名称名称', money: 200333, }, { date: '2022-05-02', name: '名称名称', money: 190333, }, { date: '2022-05-04', name: '名称名称', money: 220333, }, { date: '2022-05-01', name: '名称名称', money: 310333, }, { date: '2022-05-04', name: '名称名称', money: 220333, }, { date: '2022-05-01', name: '名称名称', money: 310333, }, { date: '2022-05-04', name: '名称名称', money: 220333, }, { date: '2022-05-01', name: '名称名称', money: 310333, }, ] }, 3000) }) return { ...toRefs(state), } }, }) </script> <style lang="scss" scoped> ::v-deep .seamless-warp { height: 229px; overflow: hidden; } ::v-deep .top .el-table__body-wrapper { display: none; } ::v-deep .bottom .el-table__header-wrapper { display: none; width: 100%; } </style>
思路:创建两个table,隐藏第一个table的body部分,这样就能得到一个固定的head。再隐藏第二个table的head部分,同时第二个table又是在滚动组件中,所以整个table都是滚动的,这时候隐藏head再搭配第一个table的head就能得到固定head并且body数据滚动的效果。
到此这篇关于vue3 el-table结合seamless-scroll实现表格数据滚动的文章就介绍到这了,更多相关vue3表格数据滚动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- vue3 实现关于 el-table 表格组件的封装及调用方法
- vue3+elementplus基于el-table-v2封装公用table组件详细代码
- vue3+ts+vite使用el-table表格渲染记录重复情况
- Vue3中el-table表格数据不显示的原因和解决方法
- 解决vue3中from表单嵌套el-table时填充el-input,v-model不唯一问题
- vue3插槽:el-table表头插入tooltip及更换表格背景色方式
- vue3使用element-plus中el-table组件报错关键字'emitsOptions'与'insertBefore'分析
- vue3 el-table 如何通过深度选择器::v-deep修改组件内部样式(默认样式)