Gathering detailed insights and metrics for ant-design-vue-admin-x
Gathering detailed insights and metrics for ant-design-vue-admin-x
Gathering detailed insights and metrics for ant-design-vue-admin-x
Gathering detailed insights and metrics for ant-design-vue-admin-x
npm install ant-design-vue-admin-x
Typescript
Module System
Node Version
NPM Version
Cumulative downloads
Total Downloads
Last Day
-83.3%
1
Compared to previous day
Last Week
-87.8%
33
Compared to previous week
Last Month
23.5%
426
Compared to previous month
Last Year
-56.5%
3,016
Compared to previous year
基于 ant-design-vue 封装的后台管理组件
1.基于 ant-design-vue 封装的后台管理组件,包括 table 和 form 两大组件;
2.无需写ui组件,简单配置参数即可快速实现后台管理中大部分页面的开发,可以大幅度减少代码量,易于维护,提升开发效率;
3.集成 axios 封装的 http 请求;
4.集成了v-hasPermi 指令可以对不同角色的按钮,进行显隐的控制。
该组件基于ant-design-vue,也需要同时安装
npm i ant-design-vue --save
npm i ant-design-vue-admin-x --save
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 示例
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
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 |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
url | 表单新增、详情、编辑数据请求接口的url | String | undefined |
reqHandle | 表单新增、编辑接口提交前事件,函数的参数为表单数据 values。需要在请求前处理数据时使用。此参数只有 addParam 中有该属性,put方式编辑表单前,也会调用该事件 | Function | undefined |
resHandle | 表单在新增、编辑、详情数据,接口提交成功后的回调 | Function | undefined |
pathParam | 编辑时参数id是路径参数还是放body, 如果id参数放body,pathParam只能为 false | Boolean | undefined |
参数 | 说明 | 必填 | 类型 | 默认值 |
---|---|---|---|---|
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 |
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 |
方法 | 说明 | 类型 |
---|---|---|
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[]]) |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
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 |
搜索列表每项的参数
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
props | 表单每项收集的key | Array | undefined |
inputType | 输入框的类型,如:input、select | String | undefined |
placeholder | 每项输入框的默认提示信息 | String | undefined |
options | 如果输入框为下拉、级联等的下拉选项 | Array | [] |
整个 table 操作项
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
text | 每项按钮的文本 | String | undefined |
permi | 按钮权限配置,如:['community:info:add'] | Array | undefined |
icon | 按钮图标 | String | undefined |
key | 每项的唯一表示,不设置也ok | String | undefined |
table 每项操作按钮
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
text | 每项按钮的文本 | String | undefined |
handle | 每项按钮的点击事件处理函数 | Function | undefined |
permi | 配置每项按钮的权限,如:['community:config:query'] | Array | undefined |
rowOptText | 自定义按钮文本,为function,参数为当前整行的数据.需配合customRender为true时生效 | Function | undefined |
rowOptDisHandle | 判断当前按钮是否禁用,参数为当前整行的数据 | Function | undefined |
配置 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 |
table 接口请求配置参数
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
url | 接口地址 | String | undefined |
resHandle | 接口成功后的回调 | Function | undefined |
searchHandle | 搜索请求前事件 | Function | undefined |
新增table数据的配置参数
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
route | 需跳转的路由,为新开页时使用 | String | undefined |
title | 跳转至新开页面的包屑名称 | String | undefined |
单独删除或批量参数配置参数
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
url | 接口地址 | String | undefined |
title | 删除时弹窗内容的 类型名称,如:门禁设备 | String | undefined |
key | 删除时弹窗内容的 key, 如:deviceName | String | undefined |
参数 | 说明 | 类型 |
---|---|---|
getTableList | 请求接口获取表格数据 | Function |
showDeleteConfirm | 打开删除确定框,方法参数为单条数据或多条数据数组 | showDeleteConfirm(rows) |
toEdit | 进入该条数据表单的详情,方法参数为该条数据 | toEdit(row) |
setFieldsValue | 设置搜索框的值 | setFieldsValue({key:value}) |
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="[user:list:add]" // hasPermi指令的值为 Array,角色值格式为:[a:b:c]
全局layout 布局
layout 各平台差异配置,该参数目前写在组件内部
参数 | 说明 | 类型 |
---|---|---|
community | 每个端的唯一标识,如:community | Object |
menuLogo | 每个端导航菜单位置的logo | url |
menuTheme | 每个端导航菜单的主题色,dark或right | String |
asideColor | 每个端导航菜单的背景色,如:#001529 | String |
每个页面的样式默认是白底,和 padding,如果要设置背景透明且没有默认padding,可以设置该项
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
layoutRoute | 设置背景透明且没有默认padding | Array | [] |
No vulnerabilities found.
No security vulnerabilities found.