```bash npm install auto-vue-manual ```
npm install auto-vue-manual``bash`
npm install auto-vue-manual
`js
import AutoVueManual from "auto-vue-manual";
import type { InstallOptions } from 'auto-vue-manual';
import 'auto-vue-manual/dist/index.css';
import request from "@/global/request";
import { Translate } from "@/languages/index";
const options: InstallOptions = {
request,
translate: Translate
}
const app = createApp(App);
app.use(AutoVueManual, options);
app.mount('#app');
`
#### Table
ProTable/ProTableSummary
ProTableList
#### Modal
BasicDialog
BasicDrawer
FormDialog
TableDialog
#### Upload
UploadAvatar
UploadImage
UploadImages
- OpenButton 新建按钮
- RefreshButton 刷新按钮
- SearchButton 搜索按钮
- ResetButton 重置按钮
| 属性名 | 类型 | 说明 | 默认值 |
| -------- | ------- | ------------ | ------------------------------------------------------------------ |
| type | string | 按钮类型 | 'primary'(Open/Search),'default'(Refresh),'warning'(Reset) |
| size | string | 按钮尺寸 | 'default' |
| showIcon | boolean | 是否显示图标 | true |
| circle | boolean | 是否圆形按钮 | true |
| plain | boolean | 是否朴素按钮 | false |
| disabled | boolean | 是否禁用 | false |
| loading | boolean | 是否加载中 | false |
| t | string | 按钮文本 | '' |
- 用于新建操作,蓝色圆形加号图标。
- 事件:@open 点击触发
- 用于刷新操作,圆形刷新图标。
- 事件:@refresh 点击触发
- 支持 loading 状态自定义
- 用于搜索操作,蓝色圆形放大镜图标。
- 事件:@search 点击触发
- 用于重置操作,橙色圆形刷新图标。
- 事件:@reset 点击触发
`vue`
#### ColumnProps
| 属性名 | 类型 | 说明 | 默认值 |
| ---------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | ------ |
| type | string | 列类型, index / selection/ radio/ expand/ sort/ icon/ tag/ copy | - |string
| prop | | 列数据字段名 | - |string
| label | | 列标题 | - |number
| width | | 列宽 | - |string
| align | | 列对齐方式 | center |boolean
| isShow | | 是否显示在表格当中 | true |{ defaultValue }
| search | | 搜索项配置, defaultValue可以设置默认的init-param | - |(scope: HeaderRenderScope
| headerRender | | 自定义表头内容渲染(tsx语法) | - |(scope: RenderScope
| render | | 自定义单元格内容渲染(tsx语法),Basic和list的scope略有不同,请注意 | - |{ api?: string, activeValue?: any, inactiveValue?: any, refresh?: boolean }
| props | | type = switch 时,props 配置 (TODO 更新其他type) | - |
#### Props 参数说明
| 属性名 | 类型 | 说明 | 默认值 |
| ------------------- | ------------------------------- | --------------------------------------------------------------------- | ------ |
| columns | [ColumnProps[]](#columnprops) | 必填,列配置项 | - |any[]
| data | | 静态 table data 数据,若存在则不会使用 request url 返回的 data | - |string
| url | | 实际请求接口 | - |boolean
| auto-search | | 是否自动执行请求 api | true |(params: any) => void
| request-error | | 表格 api 请求错误监听 | - |(data: any) => any
| data-callback | | 返回数据的回调函数,可以对数据进行处理 | - |boolean
| has-pagination | | 是否需要分页组件 | true |any
| init-param | | 初始化请求参数 | {} |any
| search-param | | 搜索参数 | {} |boolean
| border | | 是否带有纵向边框 | true |string
| row-key | | 行数据的 Key,用来优化 Table 的渲染,当表格数据多选时,所指定的 id ) | id |string
| size | | 列表大小,default/small/large | small |number
| page-size | | 列表页大小 | 0 |number
| row-h | | 列表行高 | 0 |number
| ext-h | | 列表额外高度 | 0 |string
| sum-url | | 汇总接口url,仅 ProTableSummary 有效 | |string
| sum-text | | 汇总文本,仅 ProTableSummary 有效 | Total |string
| sum-text-format | | 汇总文本格式,仅 ProTableSummary 有效 | \* |
#### Event 事件说明
| 事件名 | 说明 | 参数 |
| ------------------ | ---------------------------------------- | --------------------------------- |
| @row-click | 行点击事件,已排除 status / operation 列 | (row: any, column: any) => void |(row: any, column: any) => void
| @row-dblclick | 行双击事件,已排除 status / operation 列 | |(value, scope, column) => void
| @switch-change | 开关切换事件 | |
#### Expose 暴露方法说明
| 方法名 | 说明 | 参数 |
| ----------------- | -------------------------------------- | --------------------------------------------- |
| @search | 搜索事件 | (searchParam?: Record |() => void
| @reset | 重置事件 | |() => void
| @getTableList | 获取表格数据,不更新搜索参数及分页参数 | |
#### 示例代码
`vue`
#### Props 参数说明
| 属性名 | 类型 | 说明 | 默认值 |
| ----------- | -------- | --------------------------------------------------------------------- | ------ |
| row-key | string | 行数据的 Key,用来优化 Table 的渲染,当表格数据多选时,所指定的 id ) | id |
其余同 ProTable
#### Event 事件说明
| 事件名 | 说明 | 参数 |
| ----------------- | --------------------------------------------------------------------------------- | ------------------------------------- |
| @row-click | 行点击事件,未排除 status / operation 列,需添加 e.stopPropagation() 阻止事件冒泡 | ({ row: any, column: any }) => void |({ row: any, column: any }) => void
| @row-dblclick | 行双击事件,未排除 status / operation 列,需添加 e.stopPropagation() 阻止事件冒泡 | |
#### Expose 暴露方法说明
与 ProTable 相同。
#### 示例代码
`vue`
- 所有弹窗类组件(BasicDialog、FormDialog、TableDialog)均基于 BasicDialog 实现,props/事件/用法风格统一。
- 所有抽屉类组件均基于 BasicDrawer 实现。
- 支持 v-bind 透传 Element Plus Dialog/Drawer 的所有原生属性。
| 属性名 | 类型 | 说明 | 默认值 |
| ----------------- | ------- | ----------------------- | ------ |
| visible | boolean | 是否显示 | false |
| showClose | boolean | 是否显示关闭按钮 | true |
| title | string | 标题 | Title |
| width | string | 宽度 | 520px |
| top | string | 顶部距离 | 15vh |
| dialogProps | object | 透传 Dialog/Drawer 属性 | {} |
| appendToBody | boolean | 是否插入 body | true |
| lockScroll | boolean | 是否锁定滚动 | true |
| closeOnClickModal | boolean | 点击遮罩关闭 | false |
- 通用弹窗基类,支持所有通用 props 和事件。
- 事件:@update:visible、@closed、@submit
- 通用抽屉基类,支持所有通用 props 和事件。
- 事件:@update:visible、@closed
- 基于 BasicDialog 扩展,内置底部按钮,适合表单场景。
- 额外 props:executing(是否执行中)、footer(是否显示底部)、btnSize、okText、cancelText@submit
- 事件:、@closed、@before-close
- 基于 BasicDialog 扩展,适合表格弹窗场景。
- 额外 props:requesting(是否请求中)
`vue`
内容区域
`vue`
#### Props 参数说明
| 属性名 | 类型 | 说明 | 默认值 |
| ------------ | --------- | ------------ | ------ |
| url | string | 上传地址 | - |string
| avatar | | 头像地址 | - |string
| text | | 上传提示 | - |string
| path | | 保存路径 | - |boolean
| preview | | 是否显示预览 | false |boolean
| disabled | | 是否禁用 | false |number
| size | | 大小(KB) | 5120 |
#### Props 参数说明
| 属性名 | 类型 | 说明 | 默认值 |
| --------- | -------- | -------- | ------ |
| image | string | 图片地址 | - |
其余同 UploadAvatar
#### 示例代码
`vue`
#### Props 参数说明
| 属性名 | 类型 | 说明 | 默认值 |
| ---------- | ------------ | -------- | ------ |
| images | FileList[] | 图片地址 | - |number
| limit | | 限制数量 | 10 |
其余同 UploadAvatar
#### 示例代码
`vue`
基于 tinymce 封装的富文本编辑器,支持图片上传、字数统计、代码高亮等常用功能,适用于内容管理、文章编辑等场景。
| 属性名 | 类型 | 说明 | 默认值 |
| -------- | ------- | --------------------- | ------------- |
| url | string | 图片上传接口 | /upload/image |
| content | string | 编辑器内容(v-model) | '' |
| height | number | 编辑器高度 | 600 |
| disabled | boolean | 是否禁用编辑 | false |
| 事件名 | 说明 | 参数 |
| -------------- | -------------- | ------------- |
| update:content | 内容变更时触发 | value: string |
- 支持图片粘贴/上传,自动调用 url 接口
- 支持字数统计、代码高亮、列表、字体样式等
- 支持自定义高度、禁用状态
- 默认中文界面
` 内容:{{ content }}vue``