@beisen-phoenix/table

| 参数 | 说明 | 类型 | 默认值 | 是否必传 | 备注 | | --- | --- | :---: | :---: | :---: | --- | | className | 扩展className | string | phoenix-table | 否 | | | bordered | 是否显示外边框 | boolean | false | 否 | | | columnHighlight | 单击列,整列高亮效果 | boolean | true | 否 | | | rowsInView | 单次render的最大行数 | number | 0 | 否 | 单次render的最大行数。Table 采用了lazy render的方式来优化在大量数据下的性能,如果你的表格显示的高度超出了20条,可以调整rowsInView的值。为0表示禁用懒加载。 | | rowKey | 生成每一项key的辅助方法 | function(obj) 或 string | true | 0 | 否 | 为 true 时,以数据项本身作为key,相当于 (d => d);为函数时,使用此函数返回值;为string时,使用这个string对应的数据值。如 'id',相当于 (d => d.id)。 | | hover | 是否数据行鼠标悬浮高亮效果 | boolean | true | 否 | | | size | 尺寸(作用于行高), 可填值 ['large', 'middle', 'small'] | string | 'middle' | 否 | | | striped | 是否显示交错斑马底纹 | string 或 ReactNode | false | 否 | | | useContainerScroll | 是否使用容器的滚动条 | boolean | false | 否 | 开启后,头部不会锁定 | | height | 表格高度 | number | - | 否 | 开启后,头部不会锁定 | | loading | 数据加载中,为true时会展示一个默认的小菊花组件,可以传入一个自定义的Spin代替 | bool 或 ReactNode | false | 否 | | | loadingView | 自定义的Loaidng组件 | ReactNode | false | 否 | 可以通过传递给loadiView一个自定义组件覆盖默认的空视图 | | emptyView | 空数据效果| ReactNode | 无 | 否 | 可以通过传递给emptyView一个自定义组件覆盖默认的空视图 | | enableWheelScroll | 是否启用touch滚动 | boolean | true | 否 | 默认支持滚动条以及touch滚动,可禁用touch滚动 | | columns | 数组,见Column | Column[] | - | 是 | | | columnResizable | 列宽是否可拖拽宽度,默认为true,如果想禁用某列拖拽宽度,可以给单独列设置columnResizable | boolean | true | 否 | | | columnDefaultWidth | 默认列宽的宽度,仅在未设置列宽的场景下生效。默认为140,如果认为140过大,可以自定义设置,但是为了体验,建议不小于56. | boolean | 140 | 否 | 强烈建议此值设置不小于56 | | sorter | 表格统一排序函数,参数分别为 Column.sorter 和 排序方式 | func | 无 | 否 | 强烈建议此值设置不小于56 | | fit | 是否启用列宽自适应 | boolean | true | 否 | 当为true,会自适应宽度; 为false,会可以单独设置宽度,并且不随浏览器窗口大小改变调整 | | ellipsis | 内容超过单元格宽度是否显示...,默认为false,也就是会换行 | boolean | false | 否 | 强烈建议不要设置为true,会导致性能问题(数据量过大) | | fixed | 滚动条显示设置,可填值 ['both', 'x', 'y'] | string | 'both' | 否 | 如果确定不会出现x轴滚动条,可以设置为 y,其他情况类似,无特殊需求,不建议调整 | | expandKeys | 展开的行的key数组 | array | [] | 否 | | | expandedRowRender | 展开的行内容 | function | 无 | 否 | 如果是可展开,此项是必填 | | dataSource | 数据源 | object[] | 无 | 是 | | | pagination | 分页配置,参考下面pagination | object | pagination: { current: 1, pageSize: 15, }, | 是 | | | settingPanel | 表格设置,参考下面settingPanel | object | pagination: { current: 1, pageSize: 15, }, | 是 | | | rowSelection | 表格选中设置,参考下面rowSelection | object | {} | 否 | |

Usage no npm install needed!

<script type="module">
  import beisenPhoenixTable from 'https://cdn.skypack.dev/@beisen-phoenix/table';
</script>

README

API

Table

参数 说明 类型 默认值 是否必传 备注
className 扩展className string phoenix-table
bordered 是否显示外边框 boolean false
columnHighlight 单击列,整列高亮效果 boolean true
rowsInView 单次render的最大行数 number 0 单次render的最大行数。Table 采用了lazy render的方式来优化在大量数据下的性能,如果你的表格显示的高度超出了20条,可以调整rowsInView的值。为0表示禁用懒加载。
rowKey 生成每一项key的辅助方法 function(obj) 或 string true 0
hover 是否数据行鼠标悬浮高亮效果 boolean true
size 尺寸(作用于行高), 可填值 ['large', 'middle', 'small'] string 'middle'
striped 是否显示交错斑马底纹 string 或 ReactNode false
useContainerScroll 是否使用容器的滚动条 boolean false 开启后,头部不会锁定
height 表格高度 number - 开启后,头部不会锁定
loading 数据加载中,为true时会展示一个默认的小菊花组件,可以传入一个自定义的Spin代替 bool 或 ReactNode false
loadingView 自定义的Loaidng组件 ReactNode false 可以通过传递给loadiView一个自定义组件覆盖默认的空视图
emptyView 空数据效果 ReactNode 可以通过传递给emptyView一个自定义组件覆盖默认的空视图
enableWheelScroll 是否启用touch滚动 boolean true 默认支持滚动条以及touch滚动,可禁用touch滚动
columns 数组,见Column Column[] -
columnResizable 列宽是否可拖拽宽度,默认为true,如果想禁用某列拖拽宽度,可以给单独列设置columnResizable boolean true
columnDefaultWidth 默认列宽的宽度,仅在未设置列宽的场景下生效。默认为140,如果认为140过大,可以自定义设置,但是为了体验,建议不小于56. boolean 140 强烈建议此值设置不小于56
sorter 表格统一排序函数,参数分别为 Column.sorter 和 排序方式 func 强烈建议此值设置不小于56
fit 是否启用列宽自适应 boolean true 当为true,会自适应宽度; 为false,会可以单独设置宽度,并且不随浏览器窗口大小改变调整
ellipsis 内容超过单元格宽度是否显示...,默认为false,也就是会换行 boolean false 强烈建议不要设置为true,会导致性能问题(数据量过大)
fixed 滚动条显示设置,可填值 ['both', 'x', 'y'] string 'both' 如果确定不会出现x轴滚动条,可以设置为 y,其他情况类似,无特殊需求,不建议调整
expandKeys 展开的行的key数组 array []
expandedRowRender 展开的行内容 function 如果是可展开,此项是必填
dataSource 数据源 object[]
pagination 分页配置,参考下面pagination object pagination: { current: 1, pageSize: 15, },
settingPanel 表格设置,参考下面settingPanel object pagination: { current: 1, pageSize: 15, },
rowSelection 表格选中设置,参考下面rowSelection object {}

pagination

参数 说明 类型 默认值 是否必传 备注
current 当前页数 number 1
total 总数 number -
pageSize 每页显示条数 number 15
capacityOptions 显示条数配置 number[] [15, 30, 60, 100]
showSelectCount 底部是否显示'已选中N条'文本 boolean true
showSelectAllPageCheckbox 底部是否显示跨页全选 boolean false
selectAllPageCheckbox 底部跨页全选是否选中 boolean false
onChange 当前页数、每页显示条数发生变化回调时间 function -
  • 其他参考pagination组件

rowSelection

参数 说明 类型 默认值 是否必传 备注
type 多选或者单选, 可选值 'multiple', 'single' string
disabledAllCheckbox 禁用头部全选复选框 boolean -
selectedRowKeys 默认选中项,根据rowKey进行匹配 string[] []
onChange 选中项发生变化回调时间 function

columns

参数 说明 类型 默认值 是否必传 备注
align 单元格内容排布方式,可选 ['left', 'center', 'right'] string 'left'
fixed 锁定列,可选['left', 'right'], string - 如果相邻的多列需要锁定,只需指定最外侧的column即可
key 列的key,默认使用index string | number -
render 表格内容生成函数; function d: 当前行数据i: 当前行索引为了使用方便,可以传入一个数据的key,如 'id',相当于 (d) => { return d.id }
dataIndex 列数据在数据项中对应的 key string -
title 列头显示文字 string | ReactNode -
width 列宽 number 140