TIP
表格是开发后台管理系统中非常常用的组件,elementUI
的el-table
组件功能强大,但在实际使用中,我们直接使用会写很多重复代码,本组件通过封装el-table
组件,使得写表格配置化,大量减少重复代码,扩展性强,而且不影响el-table
的任何属性的使用,事件和属性均可直接继承使用.主要特点如下:
- 优化了一些
el-table
默认属性,如border
,stripe
,highlight-current-row
,show-overflow-tooltip
均改为默认为true
- 使用
columns
属性替代重复的el-table-columns
- 默认添加单元格双击复制
- 内置一些常用的格式化函数
- 单元格没有内容默认展示
-
短横杠
# 基础表格
基础的表格展示用法。
wl-table
基于el-table
,data
属性保持不变, 新增columns
属性以替换重复的el-table-column
,columns的每一项属性有两个必要值label
和prop
与el-table-column
的label
和value
保持一致.而el-table-column
的所有属性均可有columns
的每一项中的attrs
属性继承,如上例中attrs
中的width
属性。
# 自定义列模板
自定义列的显示内容,可组合其他组件使用。
TIP
如简单的prop
不能满足渲染表格,可设置columns
该列的slot
属性,slot
为一个字符串,然后就可以在模板中写相关的自定义内容,写法与el-table
的写法类似,本例采用了vue2.6
的v-slot
插槽语法。
# 格式化内容
wl-table
组件内置一些常用的格式化工具,增强了el-table
自带的formatter
功能,只需给columns
该项传递formatter
属性即可
TIP
formatter
属性可以传递一个函数,这时与el-table-column
的formatter
基本一致,只是返回值多个参数形式变成了对象解构形式- 内置了日期格式化,可传递
formatter
为date
返回yyyy-MM-dd
,传datetime
返回yyyy-MM-dd HH:mm:ss
,传time
返回HH:mm:ss
,另可自定义格式,传递对象如:{type:'data',content:'yyyy年MM月dd日 HH时mm分ss秒'}
,注意:type
必须指定为date
, 如下例中出生日期
列 - 可直接传入一个字典对象,如下例中
性别
列 - tag标签格式化,如下例中
状态
列,可根据状态展示对应文案和tag的颜色 - 单元格没有内容默认展示
-
短横杠
# 多级表头
# 综合演示
# Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
columns | 表格列 | array | — | [] |
data | 表格数据 | array | — | [] |
dbClickCopy | 双击单元格复制 | boolean | — | false |
dbClickCopy | 双击单元格复制 | boolean | — | false |
温馨提示
除以上列出的为本组件封装的新属性,其他el-input
的任何属性均可直接继承
# Events
事件名 | 描述 | 参数 |
---|---|---|
click | 点击事件,如使用了loading,可用回调函数done来清除loading | (fn:done) |
confirm | 当传入confirmType的时候,操作按钮确认事件 | (fn:done) |
← form search-list →