qxo / pure-admin-table

二次封装element-plus的Table,提供高度灵活的配置项

Home Page:https://pure-admin.github.io/pure-admin-table

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@pureadmin/table

二次封装element-plus的Table,提供灵活的配置项

NPM version NPM Downloads

简体中文 | English

预览地址
更多示例,基本所有的用法这里都有

🤔 开发初衷

element-plus TableTable-column属性目前只能写在<template></template>模版里,这样不是很灵活,如果表格的column足够多,代码写、看起来很臃肿,但element-plus Virtualized Table 可配置性就很高,为了保持统一,我将Table二次封装并沿用了cellRendererheaderRenderer这两个自定义 renderer,内置了可通过配置渲染的分页组件,当然还有一些额外的属性,让我们一起探索吧

🚀 特性

🦾 灵活度高: 使用tsx语法编写,保证类型的同时,给开发者提供了更灵活的写法,给使用者提供了更方便的配置
完全可摇树: 自带 Tree-shaking,只对引入的代码进行打包
🫶 代码零侵入: 保持element-plus Table 的所有属性、插槽、事件、方法的同时,提供更灵活的配置,而且还内置了可通过配置渲染的分页组件
代码提交前校验: 使用 husky 对提交代码前进行规则校验,强制规范开发流程,防止开发失误

📦 安装

npm install @pureadmin/table
or
pnpm add @pureadmin/table

🕸️ CDN

<script src="https://unpkg.com/@pureadmin/table"></script>
or
<script src="https://cdn.jsdelivr.net/npm/@pureadmin/table"></script>

🦄 用法

局部注册(单文件)

import { PureTable } from "@pureadmin/table";

<pure-table :data="dataList" :columns="columns" :pagination="pagination"></pure-table>

全局注册(main.ts)

import { createApp } from "vue";
import App from "./App.vue";

import Table from "@pureadmin/table";

const app = createApp(App);

app.use(Table).mount("#app");

点击查看按需、全局以及 Html 文件引入的用法

Volar 支持

如果您在使用 Volar,那么可以在 tsconfig.json 中配置 compilerOptions.types 来指定全局组件类型(尤其是全局注册时要想获得类型提示就需要加上下面配置)

// tsconfig.json
{
  "compilerOptions": {
    // ...
    "types": ["@pureadmin/table/volar"]
  }
}

许可证

MIT © 2022-present, pure-admin

About

二次封装element-plus的Table,提供高度灵活的配置项

https://pure-admin.github.io/pure-admin-table

License:MIT License


Languages

Language:TypeScript 74.3%Language:Vue 14.1%Language:HTML 9.8%Language:Shell 0.9%Language:JavaScript 0.8%Language:SCSS 0.1%