npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

el-pro-suite

v0.0.28

Published

本仓库基于element-plus进行封装,封装了表格、分页、表单、弹窗、抽屉等常用组件。

Downloads

262

Readme

el-pro-suite

本仓库基于element-plus进行封装,封装了表格、分页、表单、弹窗、抽屉等常用组件。

安装

npm install el-pro-suite

使用

全局注册

import ElProSuite from 'el-pro-suite'
app.use(ElProSuite)

按需引入

import {ElProTable} from 'el-pro-suite'

在线文档 https://tiansc.top/el-pro-suite/

组件

el-pro-table

el-pro-table 属性参考:

| 名称 | 说明 | 类型 | 默认值 | 必填 | |------------------------|-------------------------------------------------------|-------------------------|---------------------------|----| | table-data | 表格数据 | array | [] | 否 | | get-list-api | 获取列表数据的接口定义 | function | - | 否 || get-list-fn | 获取表格数据的方法,优先级高于getListApi |function | - | 否 | | column-data | 列 |[] | — | 是 | | params-to-json | 查询列表时,若有多选的查询条件为数组的情况,则将数组转为json字符串 | boolean | false | 否 | | params-to-string | 查询列表时,若有多选的查询条件为数组的情况,则将数组拼接为逗号分隔的字符串 |boolean |false | 否 | | update-list-on-mounted | mounted生命周期是否更新列表 |boolean | — | 否 | | query-props | 查询列表时携带的参数 |object | ``false`` | 否 | | span-method | 合并行的计算方法,参数为 |function | - | 否 | | show-page | 是否显示分页 |boolean |true | 否 | | hide-page-when-single | 当数据总页数为1时,是否隐藏分页 |boolean |false | 否 | | total | 数据总条数 |number |0 | 否 | | default-page-size | 每页条数 |number |10 | 否 | | table-border | 表格边框 |boolean |true | 否 | | index-accum | 序号是否翻页累加 |boolean |false | 否 | | is-sort | 是否支持排序 |boolean |false | 否 | | default-sort | 默认排序方式 |object | ```{prop:"",order: ""}``` | 否 | | cell-class-name | 表格单元格的class名 | ``function``/``string`` | - | 否 | | row-class-name | 表格行的class名 | ``function``/``string`` | - | 否 | | align | 表格对齐方式 |string |left | 否 | | header-align | 表头对齐方式 |string |left | 否 | | empty-text | 空数据时显示的文本 |string |暂无数据 | 否 | | height | 表格高度,当表格内容超过设置高度后,内容区域会出现滚动条 |string/ number | - | 否 | | max-height | 表格最大高度,当表格内容超过设置最大高度后,内容区域会出现滚动条 |string/number | - | 否 | | show-summary | 是否显示合计行 |boolean |false | 否 | | get-summaries | 合计行的计算方法 |function/object | - | 否 | | summary-unit | 合计行的单位 |string | - | 否 | | loading | 表格加载状态 |boolean |false | 否 | | update-list-on-mounted | 是否在mounted生命周期更新列表 |boolean |false | 否 | | row-Key | 行的key值,用于判断数据是否唯一 |string |dib-uuid | 否 | | expand-row-keys | 展开行的key值 |array | - | 否 | | front-paging | 前端分页,为true时,table-data中传入所有的数据,否则,table-data中传入当前页的数据 |boolean` | false | 否 |

column-item 属性参考:

| 名称 | 说明 | 类型 | 默认值 | 必填 | |-----------------------|------------------------------------------------|---------------------|---------|----| | label | 列名 | string | - | 是 | | prop | 当前列的数据属性名 | string | - | 是 | | width | 列宽 | string | 'auto' | 否 | | minWidth | 最小列宽 | string | - | 否 | | formatter | 格式化列数据 | function | - | 否 | | filter | 用来处理单元格内容,类似于过滤器,只能返回字符串或者数字,推荐使用formatter | function | - | 否 | | show-overflow-tooltip | 是否显示超出宽度的文本省略号 | boolean | true | 否 | | autoColor | 自动判断单元格颜色,正红负绿 | boolean | false | 否 | | sortable | 是否支持排序:true、false、 custom | boolean, string | false | 否 | | type | 列类型: index、seleciton | string | - | 否 | | fixed | 是否固定列,可选值:left、right、none | string | none | 否 | | header-component | 表头组件 | object | - | 否 | | header-tooltip | 表头提示 | string | - | 否 | | redKey | 用于判断红色列的属性名称,row[redKey]为true时,该列显示红色 | string | - | 否 | | greenKey | 用于判断绿色列的属性名称,row[greenKey]为true时,该列显示绿色 | string | - | 否 | | hidden | 该列是否显示 | boolean | true | 否 | | children | 用于设置多级表头 | column-item[] | [] | 否 | | headerAlign | 用于设置表头居中方式 | left, center, right | left | 否 |

el-pro-table 事件

支持所有的el-table事件,以下事件仅是一部分

| 名称 | 说明 | |--------------------|----------| | tableDataChange | 表格数据发生变化 | | sortTable | 排序切换 | | pageSizeChange | 每页条数变化 | | pageIndexChange | 页码切换 | | headerDragend | 拖拽表头 |

el-pro-table API

| 名称 | 说明 | |-------------------|-----------------------------------------------------| | refresh | 重置为第一页,并刷新列表 | | updateList | 刷新当前页 | | setPageIndex | 设置当前页 | | openSettingDrawer | 打开列设置抽屉,两个参数,第一个为是否允许拖拽排序(默认允许),第二个为是否显示固定列配置(默认显示) |

el-pro-form

el-pro-form属性

| 属性名 | 说明 | 类型 | 默认值 | 是否必选 | |-------------------|--------------------------------|------------|-------|----| | model-value | 绑定值 | object | - | 是 | | column-data | 表单项定义 | array | [] | 否 | | label-width | 表单label宽度 | number | 68 | 否 | | content-width | 表单子项宽度 | number | 208 | 否 | | search-on-enter | 回车触发查询 | boolean | false | 否 | | search-on-change | 表单内容变化触发查询 | boolean | false | 否 | | submit-btn | 是否显示提交按钮 | boolean | true | 否 | | submit-text | 提交按钮文本 | string | 查询 | 否 | | empty-btn | 是否显示清空按钮 | boolean | true | 否 | | empty-text | 清空按钮文本 | string | 重置 | 否 | | export-btn | 是否显示导出按钮 | boolean | true | 否 | | export-text | 导出按钮文本 | string | 导出 | 否 | | export-api | 导出接口 | function | - | 否 | | export-fn | 导出函数 | function | - | 否 | | table-component | 表格组件,用来关联表格,触发表格刷新 | object | - | 否 | | submit-on-mounted | 是否在mounted时触发查询 | boolean | false | 否 | | extra-params | 额外参数 | object | {} | 否 | | params-to-json | 若有多选的查询条件为数组的情况,则将数组转为json字符串 | boolean | false | 否 | | params-to-string | 若有多选的查询条件为数组的情况,则将数组转为逗号分隔的字符串 | boolean | false | 否 |

form-item属性

| 属性名 | 说明 | 类型 | 默认值 | 是否必选 | |-----------------------|-------------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|------| | label | 表单项label | string | - | 否 | | prop | 表单项绑定值的属性名 | string | - | 是 | | show | 是否显示 | boolean/function | true | 否 | | type | 表单项类型 | input/select/date/daterange/monthrange/cascade/autocomplete/custom | input | 是 | | disabled | 是否禁用 | boolean | false | 否 | | readonly | 是否只读 | boolean | false | 否 | | clearable | 是否可清除 | boolean | true | 否 | | placeholder | 占位符 | string | - | 否 | | content-width | 表单项宽度, 若不指定则取search-form的content-width | number | - | 否 | | get-dic-fn | 获取字典函数,用于select、cascade,返回一个数组,优先级高于get-dic-api | function | - | 否 | | get-dic-api | 获取字典接口定有 | function | - | 否 | | props | select、cascade组件的props | object | {label: "label",value: "value", children: "children",disabled: "disabled",res: "",search: "key" | 否 | | multiple | 是否多选 | boolean | false | 否 | | collapse-tags | 是否折叠多选 | boolean | true | 否 | | collapse-tags-tooltip | 是否折叠多选时显示tooltip | boolean | true | 否 | | shortcuts | 快捷选项,用于date和daterange | array | - | 否 | | disabled-date | 禁用日期,用于date和daterange | function | 默认不做限制 | 否 | | after-tody-disabled | 今后日期是否禁用 | boolean | false | 否| | remote | 是否远程搜索 | boolean | false | 否 | | update-dic-on-expand | 是否在展开时更新字典 | boolean | false | 否 | | component | 表单项组件,与type配合,当type为custom时,可以自定义组件 | object | - | 否 | | search-on-enter | 是否在enter时触发查询 | boolean | false | 否 | | search-on-change | 是否在change时触发查询 | boolean | false | 否 | | show-all-levels | 是否显示所有级联选项 | boolean | true | 否 | | show-all-value-levels | 是否在绑定值value中显示所有级联选项的value | boolean | true | 否 | | group | 分组名称,拥有相同group的item将会组合在一起 | string | - | 否 |

事件

| 事件名称 | 说明
|---------------|-----------------| | export | 点击导出按钮 | | submit | 点击"搜索"/"确认"按钮 | | empty | 点击"清空"按钮 |

api

| 名称 | 说明 | |----------------|--------------------| | submit | 提交表单,触发查询事件 | | empty | 清空表单, 重置事件 | | currValue | 表单数据 | | validator | 表单验证,返回一个promise对象 | | getValue | 获取表单数据 |

el-pro-dialog

弹出框组件,基于el-dialog封装,支持el-dialog的所有属性,并且支持el-dialog的slot。

属性

| 属性名 | 说明 | 类型 | 默认值 | |-----------------------|---------------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------| | modelValue | 组件双向绑定的值,支持对象或布尔类型 | [Object, Boolean] as PropType<any> | ref(false) | | title | 对话框标题内容 | String | '' | | render | 自定义内容渲染组件 | Object as PropType<Component> | null | | width | 对话框宽度,支持字符串(如"80%")或数字(像素值) | [String, Number] | 500 | | renderProps | 传递给渲染组件的附加属性 | Object | () => {} | | headerSlot | 自定义头部插槽 | [Object, null] | null | | extraSlot | 自定义额外操作区插槽 | [Object, null] | null | | footerSlot | 自定义底部插槽 | [Object, null] | null | | onConfirm | 点击确认按钮时的回调函数 | Function | () => {} | | onCancel | 点击取消/关闭按钮时的回调函数 | Function | () => {} | | fullscreen | 是否全屏显示对话框 | Boolean | false | | showFullScreenButton | 是否显示全屏切换按钮 | Boolean | true | | showFooter | 是否显示底部操作栏 | Boolean | true | | beforeConfirm | 确认操作前的拦截钩子函数,可返回 Promise 进行异步验证 | Function | () => {} | | beforeCancel | 取消操作前的拦截钩子函数 | Function | () => {} | | eventListener | 通用事件监听器,默认输出日志 | Function | (e, value) => { console.log('eventListener', e, value) } | | locale | 国际化语言配置,默认使用中文包(需确保 zhCn 已定义) | Object as PropType<{ name: string, el: TranslatePair }> | () => zhCn |

el-pro-drawer

该组件是一个封装的抽屉组件,用于在页面中显示一个临时的窗口,支持多种配置选项,如标题、内容、宽度、底部操作栏等。

| 属性名 | 说明 | 类型 | 默认值 | |----------------------|----------------------------------------------------------------------|------------------------------------------|------------------------------------------------------------| | modelValue | 控制抽屉显示/隐藏,支持对象或布尔类型(用于复杂状态场景) | [Object, Boolean] as PropType<any> | ref(false) | | title | 抽屉标题文本内容 | String | '' | | render | 自定义主体内容渲染组件 | Object as PropType<Component> | () => {} | | size | 抽屉尺寸,支持字符串(如"60%")或数字(像素值) | [String, Number] | 500 | | renderProps | 传递给渲染组件的属性对象 | Object | () => {} | | headerSlot | 自定义头部区域插槽 | [Object, null] | null | | extraSlot | 自定义标题栏右侧扩展操作区插槽 | [Object, null] | null | | footerSlot | 自定义底部操作栏插槽 | [Object, null] | null | | onConfirm | 点击确认按钮时触发的回调函数 | Function | () => {} | | onCancel | 点击取消/关闭按钮时触发的回调函数 | Function | () => {} | | showFullScreenButton| 是否显示全屏切换按钮 | Boolean | true | | showFooter | 是否显示底部操作栏 | Boolean | true | | beforeConfirm | 确认前的拦截函数,可异步验证(需返回 Promise) | Function | () => {} | | beforeCancel | 关闭前的拦截函数,可用于阻止关闭 | Function | () => {} | | eventListener | 全局事件监听器(默认打印日志) | Function | (e, value) => { console.log('eventListener', e, value) } | | locale | 国际化语言配置对象(需包含 nameel 属性) | Object as PropType<{name: string, el: TranslatePair}> | () => zhCn |

ElProDialogBox

该函数用来创建一个对话框组件,接收一个对象作为参数,包含以下属性:

| 参数名 | 说明 | 类型 | 默认值 | |----------------------|----------------------------------------|------------------------------------------|---------| | render | 自定义内容渲染组件 | object | 无,必填 | | width | 组件宽度,支持数字或字符串形式 | number \| string | - | | size | 同“width” | number \| string | - | | renderProps | 传递给渲染组件的附加属性 | object | - | | title | 组件标题内容 | string | - | | extraSlot | 自定义额外操作区插槽 | object | - | | beforeConfirm | 确认前的回调函数,接收数据并返回处理结果 | (data: any) => any | - | | beforeCancel | 取消前的回调函数 | (data: any) => any | - | | showFooter | 是否显示底部操作栏 | boolean | - | | footerSlot | 自定义底部插槽 | object | - | | headerSlot | 自定义头部插槽 | object | - | | eventListener | 通用事件监听函数,接收事件类型和数据 | (type: string, data: any) => any | - | | locale | 国际化语言配置 | object | - | | directives | 自定义指令配置,支持单个或多个指令 | {name: string, value: object}[] \| {name: string, value: object} | - | | use | 自定义注入内容或组件 | any | - | | [key: string] | 其他任意自定义属性 | any | - |

ElProDrawerBox

该函数用来创建一个抽屉组件,接收一个对象作为参数,包含以下属性:

| 参数名 | 说明 | 类型 | 默认值 | |----------------------|----------------------------------------|------------------------------------------|---------| | render | 自定义内容渲染组件 | object | 无,必填 | | width | 组件宽度,支持数字或字符串形式 | number \| string | - | | size | 同“width” | number \| string | - | | renderProps | 传递给渲染组件的附加属性 | object | - | | title | 组件标题内容 | string | - | | extraSlot | 自定义额外操作区插槽 | object | - | | beforeConfirm | 确认前的回调函数,接收数据并返回处理结果 | (data: any) => any | - | | beforeCancel | 取消前的回调函数 | (data: any) => any | - | | showFooter | 是否显示底部操作栏 | boolean | - | | footerSlot | 自定义底部插槽 | object | - | | headerSlot | 自定义头部插槽 | object | - | | eventListener | 通用事件监听函数,接收事件类型和数据 | (type: string, data: any) => any | - | | locale | 国际化语言配置 | object | - | | directives | 自定义指令配置,支持单个或多个指令 | {name: string, value: object}[] \| {name: string, value: object} | - | | use | 自定义注入内容或组件 | any | - | | [key: string] | 其他任意自定义属性 | any | - |

el-pro-svg-icon

用于动态渲染 SVG 图标或 CSS 字体图标的通用组件,图标依赖的js或者css文件需要提前引入。

属性说明

| 属性名 | 说明 | 类型 | 默认值 | |------------|----------------------------------------------------------------------|-----------------------------------|-------------| | iconName | 必填 图标标识:- SVG 模式:symbolId(自动补全#前缀)- CSS 模式:iconfont 类名 | String | 必填 | | className | 自定义样式类名 | String | "" | | type | 图标渲染模式 | "svg" \| "css" as PropType<"svg"\|"css"> | "svg" | | fill | 图标填充色(建议优先使用 style.color 替代) | String | "#666666" |

功能特性

1. 双模式渲染
<!-- SVG 图标模式(默认) -->
<Icon iconName="home" type="svg" />

<!-- CSS 字体图标模式 -->
<Icon iconName="icon-home" type="css" />

el-pro-echarts

属性

| 属性名 | 说明 | 类型 | 默认值 | |------------|---------------------|-----------------------|-------------| | option | echarts配置项 | Object | 必填 | | renderer | 渲染方式 | 'canvas' \| 'svg' | "canvas" | | notMerge | 是否不跟之前设置的option进行合并 | Boolean | false | | loading | 是否显示加载动画 | Boolean | false | | emptyText | 空数据提示文本 | String | "暂无数据" | | loadingText| 加载中文本 | String | "" | | showEmpty | 若数据为空,是否显示空数据提示 | Boolean | true |

exposes

| 属性名 | 说明 | 类型 | |----------|---------------------|-----------------------| | instance | echarts实例 | Object |

el-pro-fold-text

用于展示多行文本,可以折叠和展开。

属性

| 属性名 | 说明 | 类型 | 默认值 | |-------------|-----------------------------------|---------------------|-------------| | label | 标签文本 | String | "" | | value | 值 | String \| Array | "" | | lineHeight | 行高 | Number | 22 | | showRowNum | 显示行数 | Number | 1 | | labelWidth | 标签宽度 | Number \| String | "auto" | | labelColor | 标签颜色 | String | "inherit" | | valueColor | 值颜色 | String | "inherit" | | omit | 是否显示省略号 | Boolean | false | | labelSplit | label分隔符,默认没有分隔符 | String | "" | | emptyValue | 空值占位符 | String | "-" |