Crud属性文档
... 2022-8-28 About 15 min
# Crud属性文档
//2.12.1+支持
//crud组件全局配置
app.use(Avue,{
crudOption:{}
})
1
2
3
4
5
2
3
4
5
//可以获取到el-table的内置ref对象
this.$refs.crud.$refs.table
1
2
2
# Crud
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| value/v-model | 绑定值 | object | - | - |
| data | 显示的数据 | array | - | - |
| option | 表单配置项参考Option配置 | object | - | - |
| before-open | 打开前的回调,会暂停Dialog的打开,done用于关闭Dialog,type为当前窗口的类型2.13.1新增loading方法 | function | - | (done,type,loading)=>{} |
| before-close | 关闭前的回调,会暂停Dialog的关闭,done用于关闭Dialog,type为当前窗口的类型 | function | - | (done,type)=>{} |
| permission | 表格多个按钮权限控制,采用函数方式可以精确到行控制 | - | - | - |
| search | 搜索变量(需要sync修饰符) | object | - | - |
| page | 分页变量(需要sync修饰符)参考Page参数 | object | - | - |
| cell-class-name | 单元格的className的回调方法,也可以使用字符串为所有单元格设置一个固定的className | function | - | ({row,column,rowIndex,columnIndex})=>{} |
| cell-style | 单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有单元格设置一样的 Style。 | function | - | ({row,column,rowIndex,columnIndex})=>{} |
| header-cell-class-name | 表头单元格的className的回调方法,也可以使用字符串为所有表头单元格设置一个固定的className | function | - | ({ column, columnIndex, row, rowIndex})=>{} |
| header-row-class-name | 表头行的 className 的回调方法,也可以使用字符串为所有表头行设置一个固定的 className。 | function | - | ({rowIndex})=>{} |
| header-row-style | 表头行的 style 的回调方法,也可以使用一个固定的 Object 为所有表头行设置一样的 Style。 | function | - | ({rowIndex})=>{} |
| header-cell-style | 表头单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style。 | function | - | ({ column, columnIndex, row, rowIndex})=>{} |
| row-class-name | 行的className的回调方法,也可以使用字符串为所有行设置一个固定的className | function | - | ({row,rowIndex})=>{} |
| row-style | 行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style。 | function | - | ({row,rowIndex})=>{} |
| span-method | 合并行或列的计算方法 | function | - | ({row,column,rowIndex,columnIndex})=>{} |
| summary-method | 自定义的合计计算方法 | function | - | ({columns,data})=>{} |
| table-loading | 表格等待框的控制 | boolean | - | - |
| upload-before | upload组件上传前的回调,done用于继续图片上传,loading用于中断操作 | function | - | (file,done,loading)=>{} |
| upload-after | upload组件上传后的回调,done用于结束操作,loading用于中断操作 | function | - | (res,done)=>{} |
| upload-delete | upload组件删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除 | function | - | (file,column)=>{} |
| upload-preview | upload组件查看回调 | function | - | (file,column,done)=>{} |
| upload-error | upload组件上传失败错误回调 | function | - | (error,column)=>{} |
| upload-exceed | upload组件上传超过长度限制回调 | function | - | (limit,files,fileList,column)=>{} |
# Page
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| currentPage | 当前页数 | number | - | 1 |
| pageSize | 每页显示条目个数 | number | - | 20 |
| total | 总条目数 | number | - | 0 |
| pagerCount | 页码按钮的数量,当总页数超过该值时会折叠 | number | - | 7 |
| background | 是否为分页按钮添加背景色 | boolean | - | true |
| layout | 组件布局,子组件名用逗号分隔 | string | sizes, prev, pager, next, jumper, ->, total, slot | 'prev, pager, next, jumper, ->, total' |
| pageSizes | 每页显示个数选择器的选项设置 | number[] | - | [10, 20, 30, 40, 50, 100] |
# Option
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| size | 组件的尺寸 | number | medium/small/mini | small |
| column | 表单列配置参考Column相关配置 | array | - | - |
| height | 表格的高度,默认为自动高度。如果设置为auto,会自适应窗口高度,配合calcHeight参数去调节范围 | string | - | - |
| maxHeight | 表格的最大高度 | array | - | - |
| stripe | 是否为斑马纹 | boolean | - | false |
| index | 是否有序号 | boolean | - | false |
| indexWidth | 序号列宽度 | number | - | 50 |
| indexFixed | 序号列是否冻结列,true 表示固定在左侧 | boolean/string | true/left/right | true |
| indexClassName | 序号列的单元格自定义类名 | String | - | - |
| indexLabelClassName | 序号列标题的自定义类名 | String | - | - |
| menu | 是否有操作栏 | boolean | - | true |
| menuWidth | 操作栏宽度 | number | - | 220 |
| menuTitle | 操作栏标题 | string | - | 标题 |
| menuFixed | 操作栏列冻结列,true 表示固定在左侧 | boolean/string | true/left/right | true |
| menuClassName | 操作栏列的单元格自定义类名 | String | - | - |
| menuLabelClassName | 操作栏列标题的自定义类名 | String | - | - |
| menuType | 操作栏按钮样式 | string | button/icon/text/menu | text |
| menuHeaderAlign | 操作栏表头的对齐方式 | string | left/center/right | center |
| menuAlign | 操作栏按钮的对齐方式 | string | left/center/right | center |
| selection | 是否有选择框 | boolean | - | false |
| selectable | selection为true,控制返回值用来决定这一行的 CheckBox 是否可以勾选 | function | - | - |
| selectionWidth | 选择框列宽度 | number | - | 50 |
| selectionFixed | 选择框列是否冻结列,true 表示固定在左侧 | boolean/string | true/left/right | true |
| selectionClassName | 选择框列的单元格自定义类名 | String | - | - |
| selectionLabelClassName | 选择框列标题的自定义类名 | String | - | - |
| expand | 是否有展开表格 | boolean | - | false |
| expandWidth | 展开列宽度 | number | - | 50 |
| expandFixed | 展开列是否冻结列,true 表示固定在左侧 | boolean/string | true/left/right | true |
| expandClassName | 展开列的单元格自定义类名 | String | - | - |
| expandLabelClassName | 展开列标题的自定义类名 | String | - | - |
| border | 是否带有纵向边框 | boolean | - | false |
| reserveSelection | 在数据更新之后保留之前选中的数据(需指定 rowKey) | boolean | - | false |
| fit | 列的宽度是否自撑开 | boolean | - | true |
| showHeader | 是否显示表头 | boolean | - | true |
| header | 隐藏表格头部操作 | boolean | - | false |
| highlightCurrentRow | 是否要高亮当前行 | boolean | - | false |
| rowKey | 行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。 | string | - | id |
| rowParentKey | 行数据的 Key,的父类Key用于局部刷新树形表格。 | string | - | parentId |
| emptyText | 空数据时显示的文本内容 | string | - | 暂无数据 |
| defaultExpandAll | 是否默认展开所有行,当前表格包含展开行存在或者为树形表格时有效 | boolean | - | false |
| expandRowKeys | 可以通过该属性设置 Table 目前的展开行,需要设置 rowKey 属性才能使用,该属性为展开行的 keys 数组。 | array | - | false |
| defaultSort | 默认的排序列的 prop 和顺序。它的prop属性指定默认的排序的列,order指定默认排序的顺序 | object | ascending/ descending | ascending |
| showSummary | 是否在表尾显示合计行 | boolean | - | false |
| lazy | 是否懒加载子节点数据,会调用tree-load方法回调 | boolean | - | false |
| title | 表格标题 | string | - | - |
| addBtn | 表格新增按钮 | boolean | - | true |
| addBtnText | 表格新增按钮文案 | string | - | 新增 |
| addBtnIcon | 表格新增按钮图标 | string | - | - |
| editBtn | 表格修改按钮 | boolean | - | true |
| editBtnText | 表格修改按钮文案 | string | - | 修改 |
| editBtnIcon | 表格修改按钮图标 | string | - | - |
| delBtn | 表格删除按钮 | boolean | - | true |
| delBtnText | 表格删除按钮文案 | string | - | 删除 |
| delBtnIcon | 表格删除按钮图标 | string | - | - |
| viewBtn | 表格查看按钮 | boolean | - | false |
| viewBtnText | 表格查看按钮文案 | string | - | 查看 |
| viewBtnIcon | 表格查看按钮图标 | string | - | - |
| updateBtn | 表格弹窗修改按钮 | boolean | - | true |
| updateBtnText | 表格弹窗修改按钮文案 | string | - | 修改 |
| updateBtnIcon | 表格弹窗修改按钮图标 | string | - | - |
| saveBtn | 表格弹窗保存按钮 | boolean | - | true |
| saveBtnText | 表格弹窗保存按钮文案 | string | - | 保存 |
| saveBtnIcon | 表格弹窗保存按钮图标 | string | - | - |
| cancelBtn | 表格弹窗取消按钮 | boolean | - | true |
| cancelBtnText | 表格弹窗取消按钮文案 | string | - | 取消 |
| cancelBtnIcon | 表格弹窗取消按钮图标 | string | - | - |
| searchBtn | 表格搜索按钮 | boolean | - | true |
| searchBtnText | 表格搜索按钮文案 | string | - | 搜索 |
| searchBtnIcon | 表格搜索按钮图标 | string | - | - |
| emptyBtn | 表格清空按钮 | boolean | - | true |
| emptyBtnText | 表格清空按钮文案 | string | - | 清空 |
| emptyBtnIcon | 表格清空按钮图标 | string | - | - |
| printBtn | 表格打印按钮 | boolean | - | false |
| excelBtn | 表格导出按钮 | boolean | - | false |
| filterBtn | 表格自定义过滤按钮 | boolean | - | false |
| refreshBtn | 表格刷新数据按钮 | boolean | - | true |
| columnBtn | 表格列操作按钮 | boolean | - | true |
| searchShowBtn | 表格搜索显隐按钮 | boolean | - | true |
| refreshBtn | 表格刷新数据按钮 | boolean | - | true |
| copyBtn | 表格复制数据按钮 | boolean | - | false |
| gridBtn | 卡片模式切换按钮 | boolean | - | true |
| gridSpan | 卡片模式格栅 | number | - | 8 |
| gridBackgroundImage | 卡片模式背景图片 | string | - | - |
| gridBackground | 卡片模式背景颜色 | string/function | - | - |
| addTitle | 表格新增弹窗标题 | string | - | 新增 |
| editTitle | 表格修改弹窗标题 | boolean | - | 修改 |
| viewTitle | 表格查看弹窗标题 | boolean | - | 查看 |
| dialogDrag | 表格弹窗是否可以拖拽 | boolean | - | false |
| dialogFullscreen | 表格弹窗是否为全屏 | boolean | - | false |
| dialogCustomClass | 表格弹窗自定义class | string | - | - |
| dialogEscape | 表格弹窗是否可以通过按下ESC关闭 | boolean | - | true |
| dialogClickModal | 表格弹窗是否可以通过点击modal关闭 | boolean | - | false |
| dialogCloseBtn | 表格弹窗是否显示关闭按钮 | boolean | - | true |
| dialogModal | 表格弹窗是否需要遮罩层 | boolean | - | true |
| dialogMenuPosition | 表格弹窗框按钮的位置 | string | left/center/right | right |
| dialogTop | 表格弹窗顶部的距离 | number | - | 25 |
| dialogType | 表格弹窗方式 | string | dialog/drawer | dialog |
| dialogDirection | 表格弹窗打开方向 | string | rtl/ltr/ttb/tbb | rtl |
| dialogWidth | 表格弹窗宽度 | string | - | 60% |
| searchShow | 表格搜索首次是否展示 | boolean | - | true |
| searchIcon | 表格搜索半收缩按钮 | boolean | - | false |
| searchIndex | 表格搜索半收缩个数 | number | - | 2 |
| searchMenuPosition | 表格搜索按钮位置 | left/center/right | - | center |
| searchPlaceholder | 搜索项辅助文字 | string | — | - |
| searchSpan | 搜索项框栅列 | number | — | 8 |
| searchGutter | 搜索项框间距 | number | — | - |
| searchLabelWidth | 搜索项标题宽度 | number | — | 80 |
| searchLabelPosition | 搜索项标题位置 | string | left/right/top | left |
# Column-字典属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| props | 数据字典属性的配置对象,具体参考Props参考配置 | object | — | — |
| dicData | 数据字典值 | array | — | — |
| dicUrl | 数据字典接口url地址 | string | — | — |
| dicFlag | 打开表单时重新请求 | boolean | — | false |
| dicQuery | 数据字典接口url携带请求参数 | object | — | — |
| dicHeaders | 数据字典接口url携带头部参数 | object | — | — |
| dicFormatter | 数据字典接口url返回数据格式化方法 | function | — | (res)=>{return res} |
| dicMethod | 数据字典接口请求方式 | string | — | — |
# Column-Props
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| label | 选项标签为选项对象的某个属性值 | string | — | label |
| value | 选项的值为选项对象的某个属性值 | string | — | value |
| children | 选项的子选项为选项对象的某个属性值 | string | — | children |
| disabled | 选项的禁用为选项对象的某个属性值 | string | — | disabled |
| res | 选项返回结构的层级(例如data.data) | string | — | - |
# Column-共用属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| label | 列标题 | string | — | — |
| prop | 列标题的内容属性名称 | string | — | - |
| width | 对应列的宽度 | string | — | - |
| bind | 深结构数据绑定值 | string | — | - |
| minWidth | 对应列的最小宽度,与 width 的区别是 width 是固定的,minWidth 会把剩余宽度按比例分配给设置了 minWidth 的列 | string | — | - |
| fixed | 列是否固定在左侧或者右侧,true 表示固定在左侧 | boolean/string | true/left/right | - |
| className | 列的单元格自定义类名 | String | - | - |
| labelClassName | 列标题的自定义类名 | String | - | - |
| sortable | 对应列是否可以排序,如果设置为 'custom',则代表用户希望远程排序,需要监听 Table 的 sort-change 事件 | string | true, false, 'custom' | - |
| formatter | 用来格式化列内容 | function | - | (row, value, row, column) |
| overHidden | 当内容过长被隐藏时显示 tooltip | boolean | - | false |
| align | 对齐方式 | string | left/center/right | left |
| headerAlign | 表头对齐方式,若不设置该项,则使用表格的对齐方式 | string | left/center/right | left |
| filters | 数据过滤的选项。 | boolean | - | false |
| search | 是否为搜索项 | boolean | — | false |
| searchValue | 搜索项初始化值 | string | — | - |
| searchPlaceholder | 搜索项辅助文字 | string | — | - |
| searchSpan | 搜索项框栅列 | number | — | 8 |
| searchOrder | 搜索项位置排序,序号越大越靠前 | number | — | - |
| searchGutter | 搜索项框间距 | number | — | - |
| searchRange | 搜索项为范围搜索 | boolean | — | false |
| searchType | 搜索项的类型 | string | — | - |
| searchLabelWidth | 搜索项标题宽度 | number | — | 80 |
| searchClearable | 搜索项清除 | boolean | — | false |
| searchMultiple | 搜索项是否多选 | boolean | — | false |
| searchTags | 搜索项将选中值按文字的形式展示 | boolean | — | false |
| searchLabelPosition | 搜索项标题位置 | string | left/right/top | left |
| display | 弹出表单是否显示 | boolean | - | true |
| disabled | 弹出表单是否禁止 | boolean | - | false |
| addDisabled | 表单新增时项是否禁止 | boolean | — | false |
| editDisabled | 表单编辑时项是否禁止 | boolean | — | false |
| viewDisabled | 表单查看时项是否禁止 | boolean | — | false |
| addDisplay | 表单新增时项是否显示 | boolean | — | true |
| editDisplay | 表单编辑时项是否显示 | boolean | — | true |
| viewDisplay | 表单查看时项是否显示 | boolean | — | true |
| resizable | 对应列是否可以通过拖动改变宽度(需要在option中border属性为真) | boolean | — | true |
# Events
| 事件名称 | 说明 | 参数 |
|---|---|---|
| row-save | 新增数据后点击确定触发该事件 | row,done,loading |
| row-update | 更新数据后确定触发该事件 | row,index,done,loading |
| row-del | 行数据删除时触发该事件 | row,index |
| refresh-change | 点击刷新按钮触发该事件(由于page分页信息和search搜索信息是sync修饰符,可以直接通过this.page和this.search拿到) | - |
| search-change | 点击搜索后触发该事件(由于page分页信息和search搜索信息是sync修饰符,可以直接通过this.page和this.search拿到) | form,done |
| search-reset | 清空搜索回调方法 | - |
| dateChange | dateBtn为true时的选择日期回调方法 | date |
| tree-load | 加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息 | row, treeNode, resolve) |
| select | 当用户手动勾选数据行的 Checkbox 时触发的事件 | selection, row |
| select-all | 当用户手动勾选全选 Checkbox 时触发的事件 | selection |
| selection-change | 当选择项发生变化时会触发该事件 | selection |
| cell-mouse-enter | 当单元格 hover 进入时会触发该事件 | row, column, cell, event |
| cell-mouse-leave | 当单元格 hover 退出时会触发该事件 | ow, column, cell, event |
| cell-click | 当某个单元格被点击时会触发该事件 | row, column, cell, event |
| cell-dblclick | 当某个单元格被双击击时会触发该事件 | row, column, cell, event |
| row-click | 当某一行被点击时会触发该事件 | row, column, event |
| row-contextmenu | 当某一行被鼠标右键点击时会触发该事件 | row, column, event |
| row-dblclick | 当某一行被双击时会触发该事件 | row, column, event |
| header-click | 当某一列的表头被点击时会触发该事件 | column, event |
| header-contextmenu | 当某一列的表头被鼠标右键点击时触发该事件 | column, event |
| sort-change | 当表格的排序条件发生变化的时候会触发该事件 | { column, prop, order } |
| filter-change | 当表格的筛选条件发生变化的时候会触发该事件,参数的值是一个对象,对象的 key 是 column 的 columnKey,对应的 value 为用户选择的筛选条件的数组。 | filters |
| current-row-change | 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlightCurrentRow 属性 | currentRow, oldCurrentRow |
| grid-status-change2.12.7 | table模式和 grid模式切换回调 | status |
| header-dragend | 当拖动表头改变了列的宽度的时候会触发该事件 | newWidth, oldWidth, column, event |
| expand-change | 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) | row, (expandedRows |
# Methods
| 事件名称 | 说明 | 参数 |
|---|---|---|
| rowAdd | 打开表单新增窗口 | - |
| rowEdit | 打开表单编辑窗口 | row,index |
| rowView | 打开表单查看窗口 | row,index |
| updateDic | 更新指定字典 | prop,dic |
| dicInit | 重新加载全部字典 | — |
| getPropRef | 获取prop的ref对象 | prop |
| validate | 对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入两个参数:是否校验成功和未通过校验的字段。若不传入回调函数,则会返回一个 promise | (valid,done,msg) |
| validateField | 对部分表单字段进行校验的方法 | Function(props: array |
| resetFields | 对整个表单进行重置,将所有字段值重置为初始值并移除校验结果 | — |
| clearValidate | 移除表单项的校验结果。传入待移除的表单项的 prop 属性或者 prop 组成的数组,如不传则移除整个表单的校验结果 | Function(props: array |
| clearSelection | 用于多选表格,清空用户的选择 | — |
| toggleSelection | 用于多选表格,传递数组进去,会勾选数组中的对象,如果已经勾选则会取消勾选 | array |
| toggleRowSelection | 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中) | row, selected |
| toggleAllSelection | 用于多选表格,切换所有行的选中状态 | - |
| toggleRowExpansion | 用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开与否(expanded 为 true 则展开) | row, expanded |
| setCurrentRow | 用于单选表格,设定某一行为选中行,如果调用时不加参数,则会取消目前高亮行的选中状态。 | row |
| clearSort | 用于清空排序条件,数据会恢复成未排序的状态 | — |
| clearFilter | 不传入参数时用于清空所有过滤条件,数据会恢复成未过滤的状态,也可传入由columnKey组成的数组以清除指定列的过滤条件 | columnKey |
| doLayout | 对 Table 进行重新布局。当 Table 或其祖先元素由隐藏切换为显示时,可能需要调用此方法 | — |
| refreshTable | 进行重新初始化渲染 | — |
| sort | 手动对 Table 进行排序。参数prop属性指定排序列,order指定排序顺序。 | prop: string, order: string |
# Slot
| 名称 | 说明 |
|---|---|
| 'prop' | 列 |
| 'prop'Header | 列头部 |
| 'prop'Search | 列搜索 |
| 'prop'Form | 弹窗表单 |
| 'prop'Label | 弹窗表单的标题 |
| 'prop'Error | 弹窗表单错误提示 |
| search | 表格搜索 |
| searchMenu | 表格搜索菜单 |
| header | 表格头部 |
| body | 表格中部 |
| page | 表格分页 |
| menuLeft | 表格菜单左部分 |
| menuRight | 表格菜单右部分 |
| menu | 表格菜单 |
| menuBefore | 表格菜单前 |
| menuBtn | 表格合并菜单 |
| menuBtnBefore | 表格合并菜单前 |
| menuForm | 表格弹窗菜单 |
| menuFormBefore | 表格弹窗菜单前 |