写了个吸顶表格组件

165 阅读1分钟

在项目中碰到一个需求,个人觉得还挺有意思。正好在自学 vue3 + vite + ts 封装组件库,小试牛刀。需求是一个表格,表格头和特定行吸顶,其余部分可以正常滚动;目前 element-plus 支持特定列固定,貌似没有行固定的功能,那就自己写一下。

未命名文件的副本.png

大概长这个样子,弄了一回写出来了,基本上就是围绕着 position: sticky 做文章。

表格参数

属性名说明类型可选值默认值
data表格的数据Array--
columns表格头数据Array--
border表格是否显示边框Boolean-false
stickyKey控制是否吸顶的字段名String-'isSticky'
max吸顶部分最多显示几行数据Number-3
rowHeight行高度Number-40

表格事件

事件名说明回调参数
row-clicktriggers when a row is clickedrow
  npm install @boacho/sticky-table
// main.ts
import { createApp } from 'vue'
import StickyTable from '@boacho/sticky-table'
import '@boacho/sticky-table/style.css'
import App from './App.vue'

const app = createApp(App)

app.use(StickyTable)
app.mount('#app')

简单封装了下上传到 npm 了,持续更新优化~