# RocketTable 组件使用
基础表格组件,基于 JSON 动态生成固定的基础表格,支持原生大部分的属性和事件,目前只有个别事件是自定义。
# 支持功能
- 基础表格
- 表格分页(可控制隐藏,默认显示)
- 工具条(刷新、表格密度、列设置、全屏)
- 单列可点击、多列可点击
- 多个链接(link)渲染、图片渲染、url 渲染、badge 状态渲染
- 特殊数据格式化(formatter)
- 操作区域权限控制(创建、编辑、删除)
- 表格列排序、表头跨列、数据跨行
- 通过 v-bind="$attrs"和v-on="$listners"保留大部分原生属性和事件
- 支持表格索引列、支持表格多选功能
- 支持表格自定义列
- 表格中的列表按钮,支持使用 permission 来控制显示和隐藏,permission 支持布尔、函数和对象等三种配置方式。
# 基本用法[支持复选、单元格点击、图片、formatter、badge]
JSON配置表格
暂无数据
共 0 条 前往页
- 1
Copy
# 添加标题和操作按钮
当标题和操作按钮同时存在时,分别左右排列,当只有操作按钮时,居左排列。工具条可以手动隐藏。
用户列表
暂无数据
共 0 条 前往页
- 1
Copy
# 多级表头
用户列表
暂无数据
共 0 条 前往页
- 1
Copy
# 数据跨行
基于 span-method 可实现数据跨行,跨列,用法同官方教程。
暂无数据
共 0 条 前往页
- 1
Copy
# 图片、网址、link 渲染
单元格可渲染图片、网址、link 连接等,同时支持服务端返回 HTML 进行渲染。
暂无数据
共 0 条 前往页
- 1
Copy
# 排序、多列点击、操作按钮
共 0 条 前往页
- 1
Copy
# 自定义列
暂无数据
共 0 条 前往页
- 1
Copy
# 权限介绍
权限是比较重要和复杂的工作,权限一般分为:菜单权限、按钮权限、接口权限、数据权限。
我们基于 rocket-table 开发时,只会涉及到按钮权限和数据权限。
# 按钮权限用法
用户列表
暂无数据
共 0 条 前往页
- 1
用户列表
暂无数据
共 0 条 前往页
- 1
Copy
# 操作栏按钮权限用法[数据权限]
用户列表
共 0 条 前往页
- 1
Copy
permission 用来控制操作按钮或者列表中的按钮的显示和隐藏,也可以直接使用函数来处理更加方便。
# RocketTable - json 参数
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
loading | 表格请求过程显示 loading 效果 | Boolean | true/false | 无 |
columns | 表格表头对象,需要添加 sync | Array(Object) | 参考下文 | 无 |
data | 表格数据渲染对象 | Array(Object) | 参考下文 | 无 |
pagination | 表格分页对象,需要添加 sync | Object | pagination | 无 |
pager | 显示分页控件 | Boolean | true/false | true |
toolbar | 显示工具条 | Boolean | true/false | true |
spanMethod | 数据跨行处理 | fn() | 参考 Element | 无 |
# RocketTable - json - columns 对象
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
prop | 列属性 | String | 无 | 无 |
label | 列头 | String | 无 | 无 |
width | 设置列宽度 | Number | 无 | 无 |
type | 列特殊类型显示 | String | 参考 column-type | 无 |
list | 显示操作列表 | Array | 参考 column-list | 无 |
sortable | 是否排序 | Boolean | true/false/custom | 无 |
sortOrders | 设置排序方式 | Array | 参考 Element | 无 |
span | 多级表头 | Array | 参考示例 | 无 |
empty | 当返回空的时候,设置默认显示值 | String | -- | 无 |
tips | 表头增加提示语 | String | -- | 无 |
formatter | 数据格式化,同官方 | String | -- | 无 |
filter | 过滤器,用来处理日期和金额 | String | 'money/date/datetime' | 无 |
showOverflowTooltip | 当内容过长被隐藏时显示 tooltip | Boolean | true | flase/true |
permissions | 控制按钮是否显示 | Boolean/Function | true | flase/true |
showOverflowTooltip 官方默认为关闭,为了表格体验,统一开启,也可以手动关闭
type=action 时,只有设置了 width 才会关闭 tool-tip,否则也会开启。
permissions 对于有 RBAC 权限设置的系统,非常管用,配置如果觉得麻烦,可以使用函数定义,更加简单。
# pagination
默认只需要设置 total 即可,如果产品有要求,可手动调整 表格中分页控件以及工具条刷新按钮等点击,会触发 pagination 对象同步修改,所以参数需要加.sync
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
pageNum | 当前页码 | Number | 无 | 1 |
pageSize | 每页条数 | Number | 可不填 | 20 |
total | 总条数 | Number | 动态赋值 | 无 |
# column - type
主要用于对列数据进行处理,比如:点击、图片、链接、操作按钮等
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
index | 列索引 | String | 无 | 无 |
click | type 为 click 时,该列可点击 | String | 无 | 无 |
image | type 为 image 时,会自动渲染成图片 | String | 无 | 无 |
link | type 为 link 时,循环渲染成多个可点击列 | String | {prop,limit} | 无 |
url | type 为 url 时,直接生成 a 标签 | String | 无 | 无 |
badge | 列是否显示标记(参考 Badge 组件) | String | {id,state} | 无 |
action | 标记为操作按钮 | String | 无 | 无 |
selection | 表格增加批量勾选 | String | 无 | 无 |
slot | 插槽 | String | 无 | 无 |
html | 支持 html 赋值 | String | 无 | 无 |
当 type='slot'时,需要指定 slotName,这样才能在 base-table 中嵌套组件,可参考上面的自定义列
# column - list[type=action]
主要用于操作按钮列(新增、编辑、删除)
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
text | 按钮文本 | String | 无 | 无 |
permission | 是否可见 | Boolean/Function/Object | true、false、{prop:'status',show:{1:true}}、function(){return true} | 无 |
prop | 按钮映射字段 | Object/String | 参考上文 Demo | 无 |
val | 根据值去映射 | Object | 参考上文 Demo | 无 |
# 事件
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
@handleChange | 页码/条数变动 | fn(page) | 跟列表方法一致 | 无 |
@handleAction | 操作按钮点击 | fn({index,row,text}) | 参考上文使用方法 | 无 |
@handleCellClick | 单元格点击 | fn({row,prop,link}) | 参考上文使用方法 | 无 |
@sort-change | 本地排序事件 | fn({column,prop,order }) | 参考上文使用方法 | 无 |
@selection-change | 多选框 | fn([row]) | 参考 ElmentUI | 无 |
目前只有@handleChange、@handleAction、@handleCellClick 为新增自定义事件,其它为原生事件