native-ui 数据表格简单二次封装

Naive UI 是一个 Vue3 的组件库。 组件蛮丰富的,数据表格写法都是render 函数写法,为了简化和统一组件的使用,二次封装一次简单表格,固定模式

git:拾忆/demo-vue3 - Gitee.com

目录
  • components/BaseTable
    • edit.vue 可编辑表格
    • index.vue 默认表格带有分页
    • editControl.ts 可编辑表格 编辑项的控件
    • filterControl.ts 默认表格自定义搜索项
    • type.ts 表格拓展类型说明
    • util.ts 表格拓展工具
使用说明

两种表格

  1. 默认表格 带有分页
  2. 可编辑表格 不带分页
Props
config
名称说明类型默认值
idKey数据唯一字段名string---
fixQuery固定请求带上的参数{}object{}
page默认显示页码number0
size默认显示页数number10
pageKey请求分页页码参数keystring---
sizeKey请求分页页数参数keystring---
apiFunc请求数据接口function(params: any) => Promise
formatTableData格式化表格数据,返回新的表格数据function(data: T[]) => T[]
formatQueryParams发起请求时格式化对应的请求参数,入参params请求参数function(params: any) => {}
searchMap非异步搜索时,判断数据是否匹配functionparams 搜索参数 item 表格数据项(params: any, item: any) => T[]
columns 其他属性参考
名称说明类型默认值
minWidth---------
key---string---
formateHtml渲染单元格 支持html标签function(row: T) => string
render渲染单元格 优先级高于formateRender formateHtmlfunction(row: T, index?: number) => any
actionsList操作按钮arrayT[{text:'',onClick: (row: T) => any}]
仅编辑拓展的 columns
名称说明类型默认值
editType编辑类型string'input' | 'select' | 'date'
changeEdit是否切换编辑booleanfalse
editConf编辑控件配置项{ options: [{label:'',value:''}];placeholder: string;type: string;value: any;...其他组件属性}ControlConf
formateRender渲染单元格 优先级高于formateHtmlfunction(row: T) => any
仅 默认表格 拓展的 columns
名称说明类型默认值
filterControlType筛选类型string'input' | 'select' | 'date'
filterControl筛选控件配置项{ options: [{label:'',value:''}];placeholder: string;type: string;value: any;...其他组件属性}---
renderFilterMenu优先级高于filterControl 渲染自定义筛选区域function(action: T) => any
renderFilterIcon渲染自定义筛选图标function(action: T) => any
pagination

是否有分页 默认true 仅 默认表格

data

表格数据 默认为[]

Methods
默认表格
名称说明参数返回值
onSearch搜索q={}搜索参数, isReset=true 是否重置分页---
delUpdateData删除后需要刷新数据------
getSelect获取单选多选选择数据---{ ids: [id].value,items: [row]}
setSelect单选多选回显选择数据ids:[], items:[]---
可编辑表格
名称说明参数返回值
onSearch搜索q={}搜索参数, isReset=true 是否重置分页---
getUpdateData获得编辑后的数据------
拓展

默认表格 增加过滤类型 往 components/BaseTabl/filterControls文件 filterControlsMap对象增加类型 可编辑表格 增加编辑类型 往 components/BaseTabl/editControl文件 controlsMap对象增加类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值