@@ -873,6 +873,64 @@ const Demo = () => (
873
873
ReactDOM .render (< Demo / > , _mount_);
874
874
```
875
875
876
+ ### 固定列
877
+
878
+ 通过使用 fixed 使其列固定
879
+ > ⚠️ 注意: 若并没有 scroll 滚动条,fixed 属性并不会有直观的效果
880
+ <!--rehype:style=border-left: 8px solid #ffe564;background-color: #ffe56440;padding: 12px 16px;-->
881
+
882
+ <!-- rehype:bgWhite=true&codeSandbox=true&codePen=true-->
883
+ ``` jsx
884
+ import ReactDOM from ' react-dom' ;
885
+ import { Table , Button } from ' uiw' ;
886
+
887
+ const columns = [
888
+ {
889
+ title: ' 姓名' ,
890
+ ellipsis: true ,
891
+ // fixed: true,
892
+ width: 50 ,
893
+ key: ' name' ,
894
+ }, {
895
+ // fixed: true,
896
+ title: ' 年龄' ,
897
+ width: 50 ,
898
+ style: { color: ' red' },
899
+ key: ' age' ,
900
+ }, {
901
+ title: ' 地址' ,
902
+ width: 50 ,
903
+ key: ' info' ,
904
+ }, {
905
+ title: ' 操作' ,
906
+ key: ' edit' ,
907
+ width: 98 ,
908
+ fixed: ' right' ,
909
+ render : (text , key , rowData , rowNumber , columnNumber ) => (
910
+ < div>
911
+ < Button size= " small" type= " danger" > 删除< / Button>
912
+ < Button size= " small" type= " success" > 修改< / Button>
913
+ < / div>
914
+ ),
915
+ },
916
+ ];
917
+ const dataSource = [
918
+ { name: ' 邓紫棋' , age: ' 12' , info: ' 又名G.E.M.,原名邓诗颖,1991年8月16日生于中国上海,中国香港创作型女歌手。' , edit: ' ' },
919
+ { name: ' 李易峰' , age: ' 32' , info: ' 1987年5月4日出生于四川成都,中国内地男演员、流行乐歌手、影视制片人' , edit: ' ' },
920
+ { name: ' 范冰冰' , age: ' 23' , info: ' 1981年9月16日出生于山东青岛,中国影视女演员、制片人、流行乐女歌手' , edit: ' ' },
921
+ { name: ' 杨幂' , age: ' 34' , info: ' 1986年9月12日出生于北京市,中国内地影视女演员、流行乐歌手、影视制片人。' , edit: ' ' },
922
+ { name: ' Angelababy' , age: ' 54' , info: ' 1989年2月28日出生于上海市,华语影视女演员、时尚模特。' , edit: ' ' },
923
+ { name: ' 唐嫣' , age: ' 12' , info: ' 1983年12月6日出生于上海市,毕业于中央戏剧学院表演系本科班' , edit: ' ' },
924
+ { name: ' 吴亦凡' , age: ' 4' , info: ' 1990年11月06日出生于广东省广州市,华语影视男演员、流行乐歌手。' , edit: ' ' },
925
+ ];
926
+ const Demo = () => (
927
+ < div>
928
+ < Table scroll= {{x: 1200 }} bordered columns= {columns} data= {dataSource} / >
929
+ < / div>
930
+ );
931
+ ReactDOM .render (< Demo / > , _mount_);
932
+ ```
933
+
876
934
## Props
877
935
878
936
### Table
@@ -881,14 +939,16 @@ ReactDOM.render(<Demo />, _mount_);
881
939
| --------- | -------- | --------- | -------- |
882
940
| columns | 表格列的配置描述,可以内嵌 ` children ` ,以渲染分组表头。| ColumnProps[ ] | ` [] ` |
883
941
| data | 数据数组。| Array[ ] | ` [] ` |
884
- | title | 表格标题 | ~~ Function(text, key, rowData, rowNumber, columnNumber)~~ /<br /> Function(data: IColumns, rowNum: number , colNum: number )` @3.0.0+ ` /<br /> String / ReactNode | - |
942
+ | title | 表格标题 | ~~ Function(text, key, rowData, rowNumber, columnNumber)~~ /<br /> Function(data: IColumns, rowNum: Number , colNum: Number )` @3.0.0+ ` /<br /> String / ReactNode | - |
885
943
| footer | 表格尾部 | String/ReactNode | - |
886
944
| bordered | 是否展示外边框和列边框 | Boolean | - |
887
945
| empty | 无数据状态 | ReactNode | - |
888
- | onCellHead | 表头单元格点击回调 | ~~ ` Function(text, key, rowData, rowNumber, columnNumber) ` ~~ /<br /> Function(data: IColumns, colNum: number , rowNum: number , evn: React.MouseEvent<HTMLTableCellElement\> ) ` @3.0.0+ ` | - |
889
- | onCell | 单元格点击回调 | ~~ ` Function(text, key, rowData, rowNumber, columnNumber) ` ~~ /<br /> Function(data: IColumns, options:{ colNum: number , rowNum: number , keyName: string }, evn: React.MouseEvent<HTMLTableCellElement\> ) ` @3.1.0+ ` | - |
946
+ | onCellHead | 表头单元格点击回调 | ~~ ` Function(text, key, rowData, rowNumber, columnNumber) ` ~~ /<br /> Function(data: IColumns, colNum: Number , rowNum: Number , evn: React.MouseEvent<HTMLTableCellElement\> ) ` @3.0.0+ ` | - |
947
+ | onCell | 单元格点击回调 | ~~ ` Function(text, key, rowData, rowNumber, columnNumber) ` ~~ /<br /> Function(data: IColumns, options:{ colNum: Number , rowNum: Number , keyName: String }, evn: React.MouseEvent<HTMLTableCellElement\> ) ` @3.1.0+ ` | - |
890
948
| expandable | 可展开配置 | ExpandableType | - |
891
- | rowKey | 表格行 key 的取值 | string | - |
949
+ | rowKey | 表格行 key 的取值 | String | - |
950
+ | scroll | 表格是否可滚动,也可以指定滚动区域的宽、高 | { x?: React.CSSProperties[ 'width'] , y?: React.CSSProperties[ 'height'] } | - |
951
+
892
952
893
953
### ColumnProps
894
954
@@ -902,9 +962,9 @@ ReactDOM.render(<Demo />, _mount_);
902
962
| colSpan | 合并表头行。| Number | - |
903
963
| ellipsis | 超过宽度将自动省略。` v4.8.7+ ` | Boolean | ` false ` |
904
964
| render | 生成复杂数据的渲染函数,参数分别为当前行的值,当前值的 ` key ` ,行索引数据,当前行号,当前列号。| ` Function(text, key, rowData, rowNumber, columnNumber) ` | - |
905
- | align | 设置列的对齐方式 | "left"| "center"| "right" | - |
906
- | className | 列样式类名 | string | - |
907
- | scroll | 表格是否可滚动,也可以指定滚动区域的宽、高 | { x?: React.CSSProperties [ 'width' ] , y?: React.CSSProperties [ 'height' ] } | - |
965
+ | align | 设置列的对齐方式 | "left"\ | "center"\ | "right" | - |
966
+ | className | 列样式类名 | String | - |
967
+ | fixed | 把选择框列固定 | Boolean \| "left" \| "right" | - |
908
968
909
969
### expandable
910
970
@@ -914,11 +974,11 @@ ReactDOM.render(<Demo />, _mount_);
914
974
| --------- | -------- | --------- | -------- |
915
975
| expandedRowRender | 自定义展开行| (record, index, expanded) => React.ReactNode | - |
916
976
| expandIcon | 自定义图标 | (expanded, record, index) => React.ReactNode; | - |
917
- | rowExpandable | 是否允许展开| (record)=>boolean | - |
918
- | defaultExpandAllRows | 初始时,是否展开所有行| boolean | false |
977
+ | rowExpandable | 是否允许展开| (record)=>Boolean | - |
978
+ | defaultExpandAllRows | 初始时,是否展开所有行| Boolean | false |
919
979
| defaultExpandedRowKeys | 初始时,默认展开的行 rowKey数组 | Array | - |
920
980
| expandedRowKeys | 控制展开的行 rowKey数组 | Array | - |
921
981
| onExpandedRowsChange | 展开的行变化触发 | (expandedRows)=>void | - |
922
982
| onExpand | 点击展开图标触发 | (expanded,record,index)=>void | - |
923
- | indentSize | 控制树形结构每一层的缩进宽度 | number | 16 |
924
- | childrenColumnName | 指定树形结构的列名 | string | children |
983
+ | indentSize | 控制树形结构每一层的缩进宽度 | Number | 16 |
984
+ | childrenColumnName | 指定树形结构的列名 | String | children |
0 commit comments