ant-design-vue-admin-x

A form component base on ant-design-vue
4,294
Install
npm install ant-design-vue-admin-x
Latest Version:3.2.1
Vue:2
License:MIT
Last Updated:Mar 10, 2025
Links: npm
Maintainer: hmkj

ant-design-vue-admin-x

基于 ant-design-vue 封装的后台管理组件

1.基于 ant-design-vue 封装的后台管理组件,包括 table 和 form 两大组件;
2.无需写ui组件,简单配置参数即可快速实现后台管理中大部分页面的开发,可以大幅度减少代码量,易于维护,提升开发效率;
3.集成 axios 封装的 http 请求;
4.集成了v-hasPermi 指令可以对不同角色的按钮,进行显隐的控制。

install

该组件基于ant-design-vue,也需要同时安装

npm i ant-design-vue --save
npm i ant-design-vue-admin-x --save

usage

import Vue from 'vue';
import App from './App';
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';
import antAdminX, { GET, POST, DELETE, PUT } from 'ant-design-vue-admin-x';

Vue.use(Antd);
Vue.use(antAdminX);

Vue.prototype.$get = GET; // 将请求方法挂载值vue原型
Vue.prototype.$post = POST;
Vue.prototype.$delete = DELETE;
Vue.prototype.$put = PUT;

new Vue({
  el: '#app',
  components: { App },
  template: '<App/>',
});`

详情使用方法可以查看项目中 demo 示例

form表单组件

options 属性

参数 说明 类型 默认值
formType 表单类型,modal为弹窗表单,unModal为普通表单 String unModal
formList 自动生成表单的参数,为对象数组 Array []
formKey 整个表单每项绑定值的key字段,如: formKey: { title: undefined, imageId: undefined } Object {}
addParam 表单提交为 新增 数据的参数 Object {}
editParam 表单提交为 编辑 数据的参数 Object {}
detailParam 获取表单 详情 表单赋值的参数 Object {}
itemLayout 表单标签 labelCol、输入控件布局样式 wrapperCol 的配置 Object { labelCol: { span: 8 }, wrapperCol: { span: 9 } }
reqLoading 提交按钮loading效果,一般在弹窗表单中使用,如:reqLoading: { loading: false } Object {}
initReqHandle 初始化页面,是否需要请求获取详情接口。一般在非弹窗表单,进入详情且不需要初始化获取详情时使用 Boolean true
isSubmitBtn 表单是否需要提交按钮,一般在弹窗表单中使用 Boolean true
apiOrigin 设置 整个form组件接口的 baseUrl JAVA还是PHP的 String JAVA

addParam、editParam、detailParam参数

参数 说明 类型 默认值
url 表单新增、详情、编辑数据请求接口的url String undefined
reqHandle 表单新增、编辑接口提交前事件,函数的参数为表单数据 values。需要在请求前处理数据时使用。此参数只有 addParam 中有该属性,put方式编辑表单前,也会调用该事件 Function undefined
resHandle 表单在新增、编辑、详情数据,接口提交成功后的回调 Function undefined
pathParam 编辑时参数id是路径参数还是放body, 如果id参数放body,pathParam只能为 false Boolean undefined

formList 配置项

参数 说明 必填 类型 默认值
label label的名称 否 String undefined
inputType 输入框的的表单类型,如:input,select 是 String undefined
placeholder 输入框的提示信息 否 String undefined
props 绑定的 key 值和 option选项 为数组格式,如:[key, options],详细见官网 是 Array undefined
options 当表单该项为select、cascader之类的输入框时,选择项的数据,格式一般为: [{value: 1, label: '选择项'}] 否 Array undefined
isShow 初始化是是否显示,该属性控制的是 form-item 的 v-if 属性值 否 Boolean true
labelCol 单独设置label标签的布局 否 Object undefined
wrapperCol 单独设置输入框的布局 否 Object undefined
handle 输入框 change 事件处理函数 否 Function undefined
blur input框 blur 事件处理函数 否 Function undefined
click input框 click 事件处理函数 否 Function undefined
mode select 输入框的模式为多选或标签,可选值为'default'、 'multiple'、 'tags'、 'combobox' 否 Strign undefined
extra 额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用,详情见官网 否 String undefined
disabled 禁用该表单项 否 Boolean false
treeCheckable 当inputType为 tree-select时,是否显示 checkbox 否 Boolean undefined
fieldNames inputType为 cascader 自定义 options 中 label、name、children 的字段 否 String undefined
type 当 inputType 为 input ,type值为textarea、number、password分别展示为textarea输入框、number输入框、密码框 否 String input
titles transfer 的标题集合,详情见官网 否 String undefined
changeOnSelect inputType为 cascader 为 true 时,点选每级菜单选项值都会发生变化 否 Boolean false
help 提示信息,如不设置,则会根据校验规则自动生成 否 String undefined
isSearch tree 组件 是否展示搜索框 否 Boolean undefined
slot slot的name名,form-item需要自定义时使用 否 String
subList 同一个 form-item 内部嵌套多个输入框时使用,配置项和 formList 相同 否 Array undefined
readOnly inputType为input时,设置是否为只读 否 Boolean undefined
labelCol 设置每项item的label宽度,整个宽度24份所占的份额 否 Number undefined
wrapperCol 设置每项item wrapper的宽度,整个宽度24份所占的份额 否 Number undefined
loadData inputType 为 cascader 时,用以加载子级数据 否 Function undefined
loadData inputType 为 cascader 时,用以加载子级数据 否 Function undefined
min inputType 为 inputNumber 时,设置最小值范围 否 Number undefined
max inputType 为 inputNumber 时,设置最大值范围 否 Number undefined
unit inputType 为 inputNumber 时,输入框的单位 否 String undefined
fileList inputType 为 upload 时,为详情或上传成功的文件预览列表 否 Array []
uploadParam inputType 为 upload 的配置参数, 详情说明见如下文档 否 Object undefined
disabledDate inputType 为 rangePick、rangeTimePick、datePick、dateTimePick 禁用日期控件,参数为选中日期的function 否 Function undefined
selectChange inputType 为 transfer时,选中项发生改变时的回调函数,参数依次为sourceKeys(左边)选中项、targetKeys(右边)选中项 否 Function undefined
showSelectAll inputType 为 transfer时,是否展示全选勾选框 否 Boolean false

uploadParam 参数

inputType 为 upload 的配置参数

参数 说明 类型 默认值
url 提交接口的地址 String /file/ht_upload
iconUrl fileList 配置项 url 的参数,listType 为 picture ,表单赋值时 icon 的字段,一般表单详情时使用。建议使用与后台约定固定的返回格式: [ { fileId: '文件id', fileName: '文件名', fileUrl: ‘文件url' } ] String undefined
iconName fileList 配置项name的参数,如果不设置会依次去获取iconUrl、prop字段。建议使用与后台约定固定的返回格式: [ { fileId: '文件id', fileName: '文件名', fileUrl: ‘文件url' } ] String undefined
accept upload 选择文件的格式(只能过滤选择文件时的格式,提交前并没有验证) String undefined
listType upload展示的格式,有text、picture、picture-card 三种 String text
uploadType 和后台约定的上传文件类型 Number 4

能通过refs操作组件内部的方法、数据

方法 说明 类型
handleSubmit 表单提交方法 Function
routeQuery 表单为弹窗时,查看表单详情时该条数据的 id String/Number
getDetail 调用获取表单详情的方法 Function
setFieldsValue 给表单赋值,ant form 内置方法 Function({ [fieldName]: value })
validateFields 验证表单,ant form 内置方法 Function
targetKeys transfer 选中项的值 Array
resetSubValue 清空联动表单下级的值和下拉选项 Function([keys: string[]])

table 组件

table options

参数 说明 类型 默认值
searchList 搜索列表 Array []
searchParams 搜索参数,对应searchList每项的值 Object {}
tableOptList 全局操作项 Array []
rowOptList 每一项的操作项 Array []
columns 表格列的配置数组 Array []
dataSource 表格默认数据 Array []
excludeResetKey 重置搜索忽略的字段 Array []
rowOptLen 每项操作项默认展示的个数 Number 3
rowSelection table是否需要多选按钮 checkbox Boolean true
rowKey 单独删除或多选删除的 id 字段,也用于table循环需要的key String undefined
scrollWidth 设置X轴滚动的宽度 Object {}
apiOrigin 设置 整个table 组件的接口 baseUrl JAVA还是PHP的 String JAVA
paginationParam table的分页参数 Object { current: 1, pageSize: 10, total: 0, showQuickJumper: true, showSizeChanger: true, pageSizeOptions: ['10', '20', '30', '40'], showTotal: total => { return 共 ${total} 条; } }
initReqHandle 页面初始化时是否请求接口 Boolean true
canDelKey 判断是否可以单选或多选删除每项的 key String ['canDelete' , 'can_delete', 'isDelete', 'is_delete']
rowCheckboxAble 判断当前行是否可选,return false 可选,反之不可选当,rowSelection为true时生效 Function false

searchList

搜索列表每项的参数

参数 说明 类型 默认
props 表单每项收集的key Array undefined
inputType 输入框的类型,如:input、select String undefined
placeholder 每项输入框的默认提示信息 String undefined
options 如果输入框为下拉、级联等的下拉选项 Array []

tableOptList

整个 table 操作项

参数 说明 类型 默认
text 每项按钮的文本 String undefined
permi 按钮权限配置,如:['community:info:add'] Array undefined
icon 按钮图标 String undefined
key 每项的唯一表示,不设置也ok String undefined

rowOptList

table 每项操作按钮

参数 说明 类型 默认
text 每项按钮的文本 String undefined
handle 每项按钮的点击事件处理函数 Function undefined
permi 配置每项按钮的权限,如:['community:config:query'] Array undefined
rowOptText 自定义按钮文本,为function,参数为当前整行的数据.需配合customRender为true时生效 Function undefined
rowOptDisHandle 判断当前按钮是否禁用,参数为当前整行的数据 Function undefined

columns

配置 table 每列数据

参数 说明 类型 默认
title 每列的标题 String undefined
dataIndex 每列数据的key值 String undefined
align 对齐方式,有left、center、right,建议left String undefined
width 每列的宽度,可以为px或百分百 String/Number undefined
scopedSlots 指定每列 如:scopedSlots: {customRender: 'action'}。操作项customRender的值固定为 action Object undefined
customCell 自定义每列数据的渲染 Function(record, rowIndex) undefined
fixed 列是否固定, 需配合scrollWith 实现x轴滚动 boolean false

listApi

table 接口请求配置参数

参数 说明 类型 默认
url 接口地址 String undefined
resHandle 接口成功后的回调 Function undefined
searchHandle 搜索请求前事件 Function undefined

addHandleParam

新增table数据的配置参数

参数 说明 类型 默认
route 需跳转的路由,为新开页时使用 String undefined
title 跳转至新开页面的包屑名称 String undefined

deleteParam

单独删除或批量参数配置参数

参数 说明 类型 默认
url 接口地址 String undefined
title 删除时弹窗内容的 类型名称,如:门禁设备 String undefined
key 删除时弹窗内容的 key, 如:deviceName String undefined

通过refs操作组件内部方法或数据

参数 说明 类型
getTableList 请求接口获取表格数据 Function
showDeleteConfirm 打开删除确定框,方法参数为单条数据或多条数据数组 showDeleteConfirm(rows)
toEdit 进入该条数据表单的详情,方法参数为该条数据 toEdit(row)
setFieldsValue 设置搜索框的值 setFieldsValue({key:value})

http 使用方法

      this.$get({ // 包含四个请求方式$get、$post、$put、$delete
        url: '/users',
        params: { id: this.id },
        btnLoading: this.loading
        config: { timeout: 20000 } // axios 配置参数会合并默认参数
      }).then(({ data }) => {
        // do something
      }).catch((err) => {
        // do error handle
      });
参数 说明 类型 默认值
url 接口的url。baseUrl组件内部已处理,通过process.env.VUE_APP_BASE_API获取 String undefined
params 接口参数,get、post、put、delete都使用该字段 Object {}
btnLoading loading处理,格式为:{loading: false} Object undefined
config 自定义axios配置参数,会合并默认参数 Object undefined
then 接口成功的方法,参数为完整的返回数据对象 Function undefined
catch 接口失败的方法,参数为error Function undefined

v-hasPermi 指令

v-hasPermi="[user:list:add]" // hasPermi指令的值为 Array,角色值格式为:[a:b:c]

layout

全局layout 布局

platFormDiffer

layout 各平台差异配置,该参数目前写在组件内部

参数 说明 类型
community 每个端的唯一标识,如:community Object
menuLogo 每个端导航菜单位置的logo url
menuTheme 每个端导航菜单的主题色,dark或right String
asideColor 每个端导航菜单的背景色,如:#001529 String

layoutRoute

每个页面的样式默认是白底,和 padding,如果要设置背景透明且没有默认padding,可以设置该项

参数 说明 类型 默认值
layoutRoute 设置背景透明且没有默认padding Array []

Version History

Version Released Vue License
3.2.1 ^2.5.11 MIT
3.2.0 ^2.5.11 MIT
3.1.9 ^2.5.11 MIT
3.1.8 ^2.5.11 MIT
3.1.7 ^2.5.11 MIT