# 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 为新增自定义事件,其它为原生事件