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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@zj-library/vue-components

v1.0.4

Published

vue封装的相关组件

Downloads

16

Readme

组件文档

基于element-plus封装的常见的一些组件

组件列表

| 组件名 | 描述 | |--------|------| | date-picker | el-date-picker的封装版本 | | form-item | el-form-item的二次封装版 | | form-table-container | 将el-table和el-form结合起来的组件,形成带有搜索/编辑的表格的组件 | | table-edit-column | 编辑表格中的列 | | table-edit-column-action | 编辑表格中的操作列 | | form-table-item | 用于放置在form-table-container的默认插槽中,用于同时声明表格中的列和表单项单项,相当于el-col、form-item、el-table-column的结合体 | | form-table-search-item | 用于搜索表单的搜索、重置功能 | | load-list | 带有分页的加载列表的功能 | | select-data | el-select选择框的二次封装版本 | | sugar-button | el-button的二次封装版本 |

date-picker

el-date-picker的封装版本

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | available-start-date | Date | undefined | 允许的开始日期,若只传入此参数,则会禁用该日期之前的所有日期 | | available-end-date | Date | undefined | 允许的结束日期,若只传入传入此参数,则会禁用该日期之后的所有日期 | | model-value | number,string,Date,[Date, Date],[string, string] | '' | 绑定值,若为数组,长度应为2 | | readonly | boolean | false | 日期选择器是否为只读状态 | | disabled | boolean | false | 日期选择器是否禁用 | | size | '','large','default','small' | - | 输入框尺寸 | | editable | boolean | true | 输入框是否可编辑 | | clearable | boolean | true | 是否显示清除按钮 | | placeholder | string | '' | 非范围选择模式下的占位文本 | | start-placeholder | string | - | 范围选择模式下开始日期的占位文本 | | end-placeholder | string | - | 范围选择模式下结束日期的占位文本 | | type | 'year','month','Date','dates','datetime','week','datetimerange','daterange','monthrange' | date | 选择器类型 | | format | string see | YYYY-MM-DD | 输入框中显示值的格式 | | popper-class | string | - | 日期选择器下拉框的自定义类名 | | popper-options | Partial<PopperOptions> | {} | 自定义下拉框配置,更多信息参见 popper.js | | range-separator | string | '-' | 范围分隔符 | | default-value | Date,[Date, Date] | - | 可选,日历的默认日期 | | default-time | Date,[Date, Date] | - | 可选,选择日期范围时使用的时间值 | | value-format | string see | - | 可选,绑定值的格式。若未指定,绑定值将为Date对象 | | id | string,[string, string] | - | 与原生input的id属性相同 | | name | string,[string, string] | '' | 与原生input的name属性相同 | | unlink-panels | boolean | false | 在范围选择器中解除两个日期面板的联动 | | prefix-icon | string,Component | '' | 自定义前缀图标组件。默认情况下,若type值为TimeLikeType,则为Clock,否则为Calendar | | clear-icon | string,Component | CircleClose | 自定义清除图标组件 | | validate-event | boolean | true | 是否触发表单验证 | | disabled-date | (data: Date) => boolean | - | 一个判断日期是否禁用的函数,参数为该日期,应返回布尔值 | | shortcuts | Array<{ text: string, value: Date,Function }> | [] | 设置快捷选项的对象数组 | | cell-class-name | (data: Date) => string | - | 设置自定义类名 | | teleported | boolean | true | 日期选择器下拉框是否 teleport 到 body 元素上 |

事件(Events)

| 名称 | 描述 | |------|------| | change | 用户确认值时触发 | | blur | 输入框失焦时触发 | | focus | 输入框聚焦时触发 | | calendar-change | 日历选中日期改变时触发 | | panel-change | 导航按钮点击时触发 | | visible-change | 日期选择器下拉框显示/隐藏时触发 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | 自定义单元格内容 | | range-separator | 自定义范围分隔符内容 |

form-item

el-form-item的二次封装版

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | value-type | 'string','number','array','object','boolean','date' | - | 验证规则中的类型 | | pattern | RegExp | - | 验证规则中的正则表达式 | | trigger | 'change','blur' | - | 验证规则中的触发方式 | | message | string | - | 验证规则中的提示信息 | | prop | string,string&#91;&#93; | - | model 中的键名。可以是属性的路径(例如 a.b.0['a', 'b', '0'])。在使用 validateresetFields 方法时,该属性是必需的。 | | label | string | - | 标签文本。 | | label-width | string,number | '' | 标签宽度,例如 '50px'。支持 'auto'。 | | required | boolean | - | 是否为必填项,若省略则由验证规则决定。 | | rules | Arrayable<FormItemRule> | - | 表单验证规则,参见下表,更高级的用法请参考 async-validator。 | | error | string | - | 字段错误信息,设置该值后,字段将立即验证错误并显示此信息。 | | show-message | boolean | true | 是否显示错误信息。 | | inline-message | string,boolean | '' | 行内样式的验证信息。 | | size | '','large','default','small' | - | 控制该表单项内组件的尺寸。 | | for | string | - | 与原生 label 中的 for 属性相同。 | | validate-status | '','error','validating','success' | - | 表单项的验证状态。 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | 表单项的内容。 | | label | 自定义标签显示内容。 | | error | 自定义验证信息显示内容。 |

form-table-container

将el-table和el-form结合起来的组件,形成带有搜索/编辑的表格的组件

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | gutter | number | 0 | el-row中的gutter | | type | 'default','edit' | default | 组件类型, 分为编辑表格和默认表格 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | 默认插槽,只接受FormTableSearchItem,FormTableItem,el-form-item,el-table-column组件 | | table | el-table的放置位置,当然也可以放置除了el-table之外其他的内容 | | form | el-form的放置位置,当然也可以放置除了el-form之外其他的内容 |

table-edit-column

编辑表格中的列

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | hide-required-asterisk | boolean | - | 是否隐藏必填的*号 | | value-type | 'string','number','array','object','boolean','date' | - | 验证规则中的type | | pattern | RegExp | - | 验证规则中的pattern | | trigger | 'change','blur' | - | 验证规则中的trigger | | message | string | - | 验证规则中的message | | label-width | string,number | '' | 标签宽度,例如 '50px'。支持 'auto'。 | | required | boolean | - | 是否为必填项,若省略则由验证规则决定。 | | rules | Arrayable<FormItemRule> | - | 表单验证规则,参见下表,更高级的用法请参考 async-validator。 | | error | string | - | 字段错误信息,设置该值后,字段将立即验证错误并显示此信息。 | | show-message | boolean | true | 是否显示错误信息。 | | inline-message | string,boolean | '' | 行内样式的验证信息。 | | size | '','large','default','small' | - | 控制该表单项内组件的尺寸。 | | for | string | - | 与原生 label 中的 for 属性相同。 | | validate-status | '','error','validating','success' | - | 表单项的验证状态。 | | type | 'default','selection','index','expand' | default | 列的类型。若设置为 selection,则列会显示复选框;若设置为 index,则列会显示行的索引(从 1 开始);若设置为 expand,则列会显示展开图标 | | index | number,(index: number) => number | - | 自定义每行的索引,在 type=index 的列中生效 | | label | string | - | 列的标题 | | column-key | string | - | 列的键名。若需要使用 filter-change 事件,需要通过该属性标识是哪个列正在被筛选 | | prop | string | - | 字段名。也可以使用其别名:property | | width | string,number | '' | 列的宽度 | | min-width | string,number | '' | 列的最小宽度。设置 width 的列有固定宽度,而设置 min-width 的列宽度会按比例分配 | | fixed | 'left','right',boolean | false | 列是否固定在左侧/右侧。若为 true,则固定在左侧 | | render-header | (data: { column: TableColumnCtx<T>, $index: number }) => void | - | 该列表头的渲染函数 | | sortable | boolean,string | false | 列是否可排序。若将该属性设置为 'custom' 并监听 Table 的 sort-change 事件,可实现远程排序 | | sort-method | <T = any>(a: T, b: T) => number | - | 排序方法,在 sortabletrue 时生效。应返回一个数字,类似 Array.sort | | sort-by | (row: any, index: number) => string,string,string[] | - | 指定按哪个属性排序,在 sortabletruesort-methodundefined 时生效。若设置为数组,则当前一个属性相等时,会按后一个属性继续排序 | | sort-orders | [] | ['ascending', 'descending', null] | 排序数据时使用的排序策略顺序,在 sortabletrue 时生效。接受一个数组,当用户点击表头时,列会按数组中元素的顺序进行排序 | | resizable | boolean | true | 列宽度是否可调整,在 el-tablebordertrue 时生效 | | formatter | (row: any, column: TableColumnCtx<T>, cellValue: any, index: number) => VNode,string | - | 格式化单元格内容的函数 | | show-overflow-tooltip | boolean | undefined | 是否隐藏超出内容,并在鼠标悬停单元格时显示提示框 | | align | 'left','center','right' | left | 对齐方式 | | header-align | 'left','center','right' | left | 表头的对齐方式。若省略,则会使用上述 align 属性的值 | | class-name | string | - | 列中单元格的类名 | | label-class-name | string | - | 该列标题的类名 | | selectable | (row: any, index: number) => boolean | - | 判断某行是否可被选中的函数,在 type 为 'selection' 时生效 | | reserve-selection | boolean | false | 数据刷新后是否保留选中状态,在 type 为 'selection' 时生效。注意:要使该功能生效,row-key 是必需的 | | filters | Array<{text: string, value: string}> | - | 数据筛选选项的数组。该数组中的每个元素都需要包含 textvalue 属性 | | filter-placement | 'top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end' | - | 筛选下拉框的 placement 属性 | | filter-class-name | string | - | 筛选下拉框的类名 | | filter-multiple | boolean | true | 数据筛选是否支持多选 | | filter-method | (value: any, row: any, column: TableColumnCtx<T>) => void | - | 数据筛选方法。若开启 filter-multiple,则每行都会调用该方法多次,只要其中一次调用返回 true,该行就会显示 | | filtered-value | string[] | - | 选中数据的筛选值,当表头通过 render-header 渲染时可能会用到 | | tooltip-formatter | (data: { row: any, column: TableColumnCtx<T>, cellValue: any }) => VNode,string | - | 使用 show-overflow-tooltip 时,自定义提示框内容 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | 表格列的自定义内容 | | header | 表头的自定义内容 | | filter-icon | 筛选图标的自定义内容 | | expand | 展开列的自定义内容 |

table-edit-column-action

编辑表格中的操作列

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | edit-callback | function | - | 编辑操作的回调函数,接收「打开加载」和「关闭加载」两个函数作为参数 | | delete-callback | function | - | 删除操作的回调函数,接收「打开加载」和「关闭加载」两个函数作为参数 | | cancel-callback | function | - | 取消操作的回调函数,接收「打开加载」和「关闭加载」两个函数作为参数 | | is-hidden-edit-btn | boolean | - | 是否隐藏「编辑」按钮 | | is-hidden-delete-btn | boolean | - | 是否隐藏「删除」按钮 | | has-icon | boolean | - | 是否显示编辑和删除按钮的图标 | | is-hidden-cancel-btn | boolean | - | 是否隐藏「取消」按钮 | | confirm-text | string | - | 「确认」按钮的文本内容 | | cancel-text | string | - | 「取消」按钮的文本内容 | | edit-text | string | - | 「编辑」按钮的文本内容 | | delete-text | string | - | 「删除」按钮的文本内容 | | btn-is-text | boolean | - | 按钮是否为「纯文本样式」(非按钮组件,仅文字) | | label | string | - | 列的标题 | | column-key | string | - | 列的键名。若需要使用 filter-change 事件,需要通过该属性标识是哪个列正在被筛选 | | width | string,number | '' | 列的宽度 | | min-width | string,number | '' | 列的最小宽度。设置 width 的列有固定宽度,而设置 min-width 的列宽度会按比例分配 | | fixed | 'left','right',boolean | false | 列是否固定在左侧/右侧。若为 true,则固定在左侧 | | render-header | (data: { column: TableColumnCtx<T>, $index: number }) => void | - | 该列表头的渲染函数 | | sortable | boolean,string | false | 列是否可排序。若将该属性设置为 'custom' 并监听 Table 的 sort-change 事件,可实现远程排序 | | sort-method | <T = any>(a: T, b: T) => number | - | 排序方法,在 sortabletrue 时生效。应返回一个数字,类似 Array.sort | | sort-by | (row: any, index: number) => string,string,string[] | - | 指定按哪个属性排序,在 sortabletruesort-methodundefined 时生效。若设置为数组,则当前一个属性相等时,会按后一个属性继续排序 | | sort-orders | [] | ['ascending', 'descending', null] | 排序数据时使用的排序策略顺序,在 sortabletrue 时生效。接受一个数组,当用户点击表头时,列会按数组中元素的顺序进行排序 | | resizable | boolean | true | 列宽度是否可调整,在 el-tablebordertrue 时生效 | | formatter | (row: any, column: TableColumnCtx<T>, cellValue: any, index: number) => VNode,string | - | 格式化单元格内容的函数 | | show-overflow-tooltip | boolean | undefined | 是否隐藏超出内容,并在鼠标悬停单元格时显示提示框 | | align | 'left','center','right' | left | 对齐方式 | | header-align | 'left','center','right' | left | 表头的对齐方式。若省略,则会使用上述 align 属性的值 | | class-name | string | - | 列中单元格的类名 | | label-class-name | string | - | 该列标题的类名 | | selectable | (row: any, index: number) => boolean | - | 判断某行是否可被选中的函数,在 type 为 'selection' 时生效 | | reserve-selection | boolean | false | 数据刷新后是否保留选中状态,在 type 为 'selection' 时生效。注意:要使该功能生效,row-key 是必需的 | | filters | Array<{text: string, value: string}> | - | 数据筛选选项的数组。该数组中的每个元素都需要包含 textvalue 属性 | | filter-placement | 'top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end' | - | 筛选下拉框的 placement 属性 | | filter-class-name | string | - | 筛选下拉框的类名 | | filter-multiple | boolean | true | 数据筛选是否支持多选 | | filter-method | (value: any, row: any, column: TableColumnCtx<T>) => void | - | 数据筛选方法。若开启 filter-multiple,则每行都会调用该方法多次,只要其中一次调用返回 true,该行就会显示 | | filtered-value | string[] | - | 选中数据的筛选值,当表头通过 render-header 渲染时可能会用到 | | tooltip-formatter | (data: { row: any, column: TableColumnCtx<T>, cellValue: any }) => VNode,string | - | 使用 show-overflow-tooltip 时,自定义提示框内容 |

插槽(Slots)

| 名称 | 描述 | |------|------| | header | 表头的自定义内容 | | other-actions | 其他操作 |

form-table-item

用于放置在form-table-container的默认插槽中,用于同时声明表格中的列和表单项单项,相当于el-col、form-item、el-table-column的结合体

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | span | number | 24 | 栅格占据的列数 | | offset | number | 0 | 栅格左侧的间隔列数 | | push | number | 0 | 栅格向右移动的列数 | | pull | number | 0 | 栅格向左移动的列数 | | xs | number,{span?: number, offset?: number, pull?: number, push?: number} | - | <768px 响应式列数或列属性对象 | | sm | number,{span?: number, offset?: number, pull?: number, push?: number} | - | ≥768px 响应式列数或列属性对象 | | md | number,{span?: number, offset?: number, pull?: number, push?: number} | - | ≥992px 响应式列数或列属性对象 | | lg | number,{span?: number, offset?: number, pull?: number, push?: number} | - | ≥1200px 响应式列数或列属性对象 | | xl | number,{span?: number, offset?: number, pull?: number, push?: number} | - | ≥1920px 响应式列数或列属性对象 | | tag | string | div | 自定义元素标签 | | hidden-table-column | boolean | - | 是否隐藏表格的列 | | value-type | 'string','number','array','object','boolean','date' | - | 验证规则中的type | | pattern | RegExp | - | 验证规则中的pattern | | trigger | 'change','blur' | - | 验证规则中的trigger | | message | string | - | 验证规则中的message | | label-width | string,number | '' | 标签宽度,例如 '50px'。支持 'auto'。 | | required | boolean | - | 是否为必填项,若省略则由验证规则决定。 | | rules | Arrayable<FormItemRule> | - | 表单验证规则,参见下表,更高级的用法请参考 async-validator。 | | error | string | - | 字段错误信息,设置该值后,字段将立即验证错误并显示此信息。 | | show-message | boolean | true | 是否显示错误信息。 | | inline-message | string,boolean | '' | 行内样式的验证信息。 | | size | '','large','default','small' | - | 控制该表单项内组件的尺寸。 | | for | string | - | 与原生 label 中的 for 属性相同。 | | validate-status | '','error','validating','success' | - | 表单项的验证状态。 | | type | 'default','selection','index','expand' | default | 列的类型。若设置为 selection,则列会显示复选框;若设置为 index,则列会显示行的索引(从 1 开始);若设置为 expand,则列会显示展开图标 | | index | number,(index: number) => number | - | 自定义每行的索引,在 type=index 的列中生效 | | label | string | - | 列的标题 | | column-key | string | - | 列的键名。若需要使用 filter-change 事件,需要通过该属性标识是哪个列正在被筛选 | | prop | string | - | 字段名。也可以使用其别名:property | | width | string,number | '' | 列的宽度 | | min-width | string,number | '' | 列的最小宽度。设置 width 的列有固定宽度,而设置 min-width 的列宽度会按比例分配 | | fixed | 'left','right',boolean | false | 列是否固定在左侧/右侧。若为 true,则固定在左侧 | | render-header | (data: { column: TableColumnCtx<T>, $index: number }) => void | - | 该列表头的渲染函数 | | sortable | boolean,string | false | 列是否可排序。若将该属性设置为 'custom' 并监听 Table 的 sort-change 事件,可实现远程排序 | | sort-method | <T = any>(a: T, b: T) => number | - | 排序方法,在 sortabletrue 时生效。应返回一个数字,类似 Array.sort | | sort-by | (row: any, index: number) => string,string,string[] | - | 指定按哪个属性排序,在 sortabletruesort-methodundefined 时生效。若设置为数组,则当前一个属性相等时,会按后一个属性继续排序 | | sort-orders | [] | ['ascending', 'descending', null] | 排序数据时使用的排序策略顺序,在 sortabletrue 时生效。接受一个数组,当用户点击表头时,列会按数组中元素的顺序进行排序 | | resizable | boolean | true | 列宽度是否可调整,在 el-tablebordertrue 时生效 | | formatter | (row: any, column: TableColumnCtx<T>, cellValue: any, index: number) => VNode,string | - | 格式化单元格内容的函数 | | show-overflow-tooltip | boolean | undefined | 是否隐藏超出内容,并在鼠标悬停单元格时显示提示框 | | align | 'left','center','right' | left | 对齐方式 | | header-align | 'left','center','right' | left | 表头的对齐方式。若省略,则会使用上述 align 属性的值 | | class-name | string | - | 列中单元格的类名 | | label-class-name | string | - | 该列标题的类名 | | selectable | (row: any, index: number) => boolean | - | 判断某行是否可被选中的函数,在 type 为 'selection' 时生效 | | reserve-selection | boolean | false | 数据刷新后是否保留选中状态,在 type 为 'selection' 时生效。注意:要使该功能生效,row-key 是必需的 | | filters | Array<{text: string, value: string}> | - | 数据筛选选项的数组。该数组中的每个元素都需要包含 textvalue 属性 | | filter-placement | 'top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end' | - | 筛选下拉框的 placement 属性 | | filter-class-name | string | - | 筛选下拉框的类名 | | filter-multiple | boolean | true | 数据筛选是否支持多选 | | filter-method | (value: any, row: any, column: TableColumnCtx<T>) => void | - | 数据筛选方法。若开启 filter-multiple,则每行都会调用该方法多次,只要其中一次调用返回 true,该行就会显示 | | filtered-value | string[] | - | 选中数据的筛选值,当表头通过 render-header 渲染时可能会用到 | | tooltip-formatter | (data: { row: any, column: TableColumnCtx<T>, cellValue: any }) => VNode,string | - | 使用 show-overflow-tooltip 时,自定义提示框内容 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | el-form-item中的default插槽 | | formItemLabel | el-form-item中的label插槽 | | formItemError | el-form-item中的error插槽 | | table | el-table-column中的插槽 |

form-table-search-item

用于搜索表单的搜索、重置功能

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | search-text | string | 搜索 | 搜索按钮的文本内容 | | reset-text | string | 重置 | 重置按钮的文本内容 |

事件(Events)

| 名称 | 描述 | |------|------| | search | 点击搜索按钮时触发的事件 | | reset | 点击重置按钮时触发的事件 |

load-list

带有分页的加载列表的功能

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | load | function | - | 数据加载函数,接收页码、页大小、总条数,返回包含数据的 Promise | | error-text | string | - | 错误状态时显示的文本 | | pagination-background | boolean | true | el-pagination的background属性 | | pagination-size | 'large','small','default' | default | el-pagination的size属性 | | pagination-layout | string | total, sizes, prev, pager, next, jumper | el-pagination的layout属性 | | empty-text | string | - | 数据为空时显示的文本 | | is-auto-load | boolean | - | 是否自动加载数据 | | pagination-align | 'start','center','end' | - | 分页器对齐方式,可选 'start'、'center'、'end' | | hide-on-single-page | boolean | - | 只有一页时是否隐藏分页器 | | disable-scroll-top | boolean | - | 是否禁用滚动到顶部的行为 | | hide-default-empty-or-error-handle | boolean | - | 隐藏默认的空数据或错误时的处理逻辑 | | scroll-container | any | - | 滚动容器的引用 | | page-config | object | - | 分页配置,包含 list 和 total 字段的键名映射 |

事件(Events)

| 名称 | 描述 | |------|------| | loaded | 数据加载完成后触发的事件 |

暴露的方法/属性(exposed)

| 名称 | 描述 | 类型 | |------|------|------| | refresh | 刷新列表方法 | (isForce: boolean isScrollTop: boolean ) | | scrollToTop | 滚动到顶部 | - | | refreshOfDelete | 删除时调用的刷新列表的方法 | (delCount: number ) |

select-data

el-select选择框的二次封装版本

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | model-value | string,number,boolean,object,array | - | 绑定值 | | selected | object | - | 可结合v-model:selected使用,当前选中的modelValue所对应的对象 | | labelKey | string | - | label的键名 | | valueKey | object | - | value的键名 | | multiple | boolean | false | 是否启用多选 | | options | Array<{[key: string]: any}>,Function | - | 选项数据,valuelabeldisabled的键名可通过props自定义 | | [props] | object | - | 配置选项 | | disabled | boolean | false | 是否禁用选择框 | | value-key | string | value | 值的唯一标识键名,当值为对象时必填 | | size | '','large','default','small' | - | 输入框尺寸 | | clearable | boolean | false | 是否可清空选择 | | collapse-tags | boolean | false | 多选时是否将选中项折叠为文字显示 | | collapse-tags-tooltip | boolean | false | 当启用collapse-tags时,鼠标悬停折叠文字时是否显示所有选中的标签。使用此属性需先开启collapse-tags | | multiple-limit | number | 0 | 多选时用户最多可选择的选项数。设为0则无限制 | | id | string | - | 原生input的id属性 | | name | string | - | 选择框输入框的name属性 | | effect | 'dark','light',string | light | 提示框主题,内置主题:dark / light | | autocomplete | string | off | 选择框输入框的autocomplete属性 | | placeholder | string | - | 占位文本,默认为'Select' | | filterable | boolean | false | 是否可搜索 | | allow-create | boolean | false | 是否允许创建新选项。使用此属性需先开启filterable | | filter-method | (query: string) => void | - | 自定义搜索方法,第一个参数为当前输入值。使用此属性需先开启filterable | | remote | boolean | false | 是否从服务器加载选项 | | remote-method | (query: string) => void | - | 输入值变化时触发的函数,参数为当前输入值。使用此属性需先开启filterable | | remote-show-suffix | boolean | false | 远程搜索模式下是否显示后缀图标 | | loading | boolean | false | 是否正在从服务器加载数据 | | loading-text | string | - | 从服务器加载数据时显示的文本,默认为'Loading' | | no-match-text | string | - | 搜索无匹配结果时显示的文本,也可使用empty插槽,默认为'No matching data' | | no-data-text | string | - | 无选项时显示的文本,也可使用empty插槽,默认为'No data' | | popper-class | string | '' | 选择框下拉菜单的自定义类名 | | popper-style | string,object | - | 选择框下拉菜单的自定义样式 | | reserve-keyword | boolean | true | 当开启multiple和filterable时,选择选项后是否保留当前关键词 | | default-first-option | boolean | false | 按回车时选择第一个匹配的选项。需配合filterable或remote使用 | | teleported | boolean | true | 选择框下拉菜单是否使用 teleport,若为true,则会被传送到append-to指定的位置 | | append-to | CSSSelector,HTMLElement | - | 选择框下拉菜单挂载到哪个元素上 | | persistent | boolean | true | 当选择框下拉菜单未激活且persistent为false时,下拉菜单会被销毁 | | automatic-dropdown | boolean | false | 对于不可搜索的选择框,此属性决定输入框获得焦点时是否弹出选项菜单 | | clear-icon | string,Component | CircleClose | 自定义清空图标组件 | | fit-input-width | boolean | false | 下拉菜单的宽度是否与输入框相同 | | suffix-icon | string,Component | ArrowDown | 自定义后缀图标组件 | | tag-type | '','success','info','warning','danger' | info | 标签类型 | | tag-effect | '','light','dark','plain' | light | 标签效果 | | validate-event | boolean | true | 是否触发表单验证 | | offset | number | 12 | 下拉菜单的偏移量 | | show-arrow | boolean | true | 下拉菜单是否显示箭头 | | placement | 'top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end' | bottom-start | 下拉菜单的位置 | | fallback-placements | Placement[] | ['bottom-start', 'top-start', 'right', 'left'] | 下拉菜单的备选位置列表 popper.js | | max-collapse-tags | number | 1 | 最多显示的标签数量。使用此属性需先开启collapse-tags | | popper-options | objectrefer to doc | {} | popper.js 参数 | | aria-label | string | - | 与原生input的aria-label相同 | | empty-values | array | - | 组件的空值,参见config-provider | | value-on-clear | string,number,boolean,Function | - | 清空时的返回值,参见config-provider | | suffix-transition | boolean | true | 下拉菜单显示/隐藏时图标的动画 | | tabindex | string,number | - | 输入框的tabindex属性 |

事件(Events)

| 名称 | 描述 | |------|------| | change | 选中值变化时触发 | | visible-change | 下拉菜单显示/隐藏时触发 | | remove-tag | 多选模式下移除标签时触发 | | clear | 可清空的选择框点击清空图标时触发 | | blur | 输入框失去焦点时触发 | | focus | 输入框获得焦点时触发 | | popup-scroll | 下拉菜单滚动时触发 | | update:selected | 用于v-model:selected的事件 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | 选项组件列表 | | header | 下拉菜单顶部的内容 | | footer | 下拉菜单底部的内容 | | prefix | 选择框前缀内容 | | empty | 无选项时的内容 | | tag | 选择框标签内容,引入了子标签dataselectDisableddeleteTag | | loading | 选择框加载状态的内容 | | label | 选择框标签内容。引入了index |

sugar-button

el-button的二次封装版本

属性(Props)

| 名称 | 类型 | 默认值 | 描述 | |------|------|--------|------| | auto-loading | boolean | - | 触发点击事件之后,回调函数中会包含openLoading和closeLoading两个函数 | | auto-message-box | boolean | - | 触发点击事件之后,会自动弹出消息框 | | message-box-options | SugarButtonPropsRequired['messageBoxOptions'] | - | 消息框配置项 | | size | 'large','default','small' | - | 按钮尺寸 | | type | 'default','primary','success','warning','danger','info','','text' | - | 按钮类型,当设置color时,后者优先级更高 | | plain | boolean | false | 是否为朴素按钮 | | text | boolean | false | 是否为文字按钮 | | bg | boolean | false | 文字按钮是否始终显示背景色 | | link | boolean | false | 是否为链接按钮 | | round | boolean | false | 是否为圆角按钮 | | circle | boolean | false | 是否为圆形按钮 | | loading-icon | string,Component | Loading | 自定义加载图标组件 | | disabled | boolean | false | 是否禁用按钮 | | icon | string,Component | - | 图标组件 | | autofocus | boolean | false | 与原生按钮的autofocus属性相同 | | native-type | 'button','submit','reset' | button | 与原生按钮的type属性相同 | | auto-insert-space | boolean | false | 自动在两个中文字符之间插入空格(仅当文本长度为2且所有字符均为中文时生效) | | color | string | - | 自定义按钮颜色,会自动计算hoveractive状态的颜色 | | dark | boolean | false | 深色模式,会自动将color转换为深色模式下的颜色 | | tag | string,Component | button | 自定义元素标签 |

事件(Events)

| 名称 | 描述 | |------|------| | click | 按钮点击事件 |

插槽(Slots)

| 名称 | 描述 | |------|------| | default | 自定义默认内容 | | loading | 自定义加载组件 | | icon | 自定义图标组件 |