LogoPAX ADMIN PRO

组件

本项目提供了一套基于 Element Plus 的常用业务组件,适用于后台管理系统开发。以下是各组件的使用说明。


📁 目录结构概览

src/
└── components/
    ├── app-link
    ├── color-picker
    ├── daterange-picker
    ├── del-wrap
    ├── dict-value
    ├── editor
    ├── export-data
    ├── footer-btns
    ├── icon
    ├── icon-button
    ├── image-contain
    ├── link
    ├── material
    ├── overflow-tooltip
    ├── pagination
    ├── pax-desc
    ├── popover-input
    ├── popup
    ├── upload
    └── video-player

🧩 常用组件使用说明

示例代码:

<template>
  <app-link to="https://example.com" target="_blank">外链</app-link>
  <app-link to="/dashboard">内部路由</app-link>
</template>

Props:

属性名类型默认值描述
tostringobject必填路由路径或对象
replacebooleanfalse是否替换当前历史记录

2. color-picker - 颜色选择器

示例代码:

<template>
  <color-picker v-model="color" />
</template>

Props:

属性名类型默认值描述
modelValuestring''当前颜色值
resetColorstring''重置时的颜色值

3. daterange-picker - 时间范围选择器

示例代码:

<template>
  <daterange-picker v-model:start-time="start" v-model:end-time="end" />
</template>

Props:

属性名类型默认值描述
startTimestring''开始时间
endTimestring''结束时间

4. del-wrap - 删除图标封装

示例代码:

<template>
  <del-wrap show-close @close="handleClose">
    <div>内容区域</div>
  </del-wrap>
</template>

Props:

属性名类型默认值描述
showClosebooleantrue是否显示删除按钮

5. dict-value - 字典值展示组件

示例代码:

<template>
  <dict-value :options="options" :value="selectedValue" />
</template>

Props:

属性名类型默认值描述
optionsArray[]字典选项
valueanynull当前选中值
configObject{ label: 'name', value: 'value' }显示字段配置

6. editor - 富文本编辑器(集成 wangEditor)

示例代码:

<template>
  <editor v-model="content" />
</template>

Props:

属性名类型默认值描述
modelValuestring''编辑器内容
mode`'default''simple'`'default'
height`stringnumber`'100%'
width`stringnumber`'auto'
toolbarConfigIToolbarConfig{}工具栏配置

7. export-data - 数据导出弹窗组件

示例代码:

<template>
  <export-data :fetch-fun="exportDataApi" :page-size="20" />
</template>

Props:

属性名类型默认值描述
paramsObject{}请求参数
pageSizenumber25分页大小
fetchFunFunction必填获取导出数据的方法

示例代码:

<template>
  <footer-btns fixed>
    <el-button type="primary">提交</el-button>
  </footer-btns>
</template>

Props:

属性名类型默认值描述
fixedbooleantrue是否固定在底部

9. icon - 图标组件(支持 Element Plus & 本地 SVG)

示例代码:

<template>
  <icon name="el-icon-Edit" size="18" color="#f00" />
</template>

Props:

属性名类型默认值描述
namestring必填图标名称
size`stringnumber`'14px'
colorstring'inherit'图标颜色

示例代码:

<template>
  <link v-model="selectedLink" />
</template>

Props:

属性名类型默认值描述
modelValueObject{}当前链接对象

11. material - 素材管理组件(图片 / 视频 / 文件)

示例代码:

<template>
  <material v-model="fileList" type="image" limit="5" />
</template>

Props:

属性名类型默认值描述
typestring'image'类型:image, video, file
limitnumber1最多选择数量
fileSizestring'100px'文件预览尺寸

12. overflow-tooltip - 超出省略并显示 Tooltip

示例代码:

<template>
  <overflow-tooltip content="这是一段很长的内容" />
</template>

Props:

属性名类型默认值描述
contentstring必填要显示的内容
placementstring'top'Tooltip 位置
overfloTypestring'ellipsis'截断方式

13. pagination - 分页组件

示例代码:

<template>
  <pagination v-model="pager" @change="getLists" />
</template>

Props:

属性名类型默认值描述
modelValueObject{}分页数据对象
layoutstring'sizes, prev, pager, next, jumper'布局方式
pageSizesArray<number>[15, 20, 30, 40]可选每页数量

14. pax-desc - 描述信息布局组件

示例代码:

<template>
  <pax-desc>
    <pax-desc-item label="用户名">{{ user.name }}</pax-desc-item>
  </pax-desc>
</template>

pax-desc-item Props:

属性名类型默认值描述
labelstring''标签文字
valuestring''内容值

15. popover-input - 弹出输入框组件

示例代码:

<template>
  <popover-input placeholder="请输入名称" @confirm="handleSubmit" />
</template>

Props:

属性名类型默认值描述
valuestring''输入框初始值
placeholderstring''占位符
limitnumber200最大输入长度
teleportedbooleantrue是否插入到 body

16. popup - 弹窗组件

示例代码:

<template>
  <popup title="标题" width="500px" @confirm="handleSubmit">
    <template #trigger><el-button>打开弹窗</el-button></template>
    <div>弹窗内容</div>
  </popup>
</template>

Props:

属性名类型默认值描述
titlestring''弹窗标题
widthstring'400px'弹窗宽度
disabledbooleanfalse是否禁用触发
asyncbooleanfalse是否异步关闭

17. upload - 上传组件

示例代码:

<template>
  <upload type="image" :data="{ cid: 1 }">
    <el-button>上传图片</el-button>
  </upload>
</template>

Props:

属性名类型默认值描述
typestring'image'上传类型
multiplebooleantrue是否允许多选
limitnumber10最大上传数
showProgressbooleanfalse是否显示上传进度

18. video-player - 视频播放器组件

示例代码:

<template>
  <video-player src="https://example.com/video.mp4" width="100%" height="450px" />
</template>

Props:

属性名类型默认值描述
srcstring必填视频地址
widthstring'100%'播放器宽度
heightstring'450px'播放器高度

✅ 总结

组件名功能
app-link支持外链和内链跳转
color-picker颜色选择器
daterange-picker时间范围选择
del-wrap删除按钮包裹组件
dict-value字典值渲染
editor富文本编辑器
export-data数据导出功能
footer-btns底部操作按钮区域
icon图标组件(Element Plus + SVG)
link链接选择器(支持多种链接类型)
material素材管理(图片、视频、文件)
overflow-tooltip超出省略并提示
pagination分页组件
pax-desc描述信息布局
popover-input弹出输入框
popup弹窗组件
upload上传组件
video-player视频播放器

这些组件均已封装好,可直接通过 v-model 控制状态,适用于企业级后台系统快速搭建。