stk-table-vue 0.0.1-beta.9 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -67
- package/lib/src/StkTable/StkTable.vue.d.ts +335 -311
- package/lib/src/StkTable/types/index.d.ts +60 -60
- package/lib/src/StkTable/useColResize.d.ts +5 -5
- package/lib/src/StkTable/useFixedStyle.d.ts +19 -19
- package/lib/src/StkTable/useKeyboardArrowScroll.d.ts +14 -14
- package/lib/src/StkTable/useThDrag.d.ts +2 -2
- package/lib/src/StkTable/useVirtualScroll.d.ts +73 -67
- package/lib/stk-table-vue.js +1263 -1226
- package/lib/style.css +286 -264
- package/package.json +60 -60
- package/src/StkTable/StkTable.vue +80 -41
- package/src/StkTable/style.less +46 -18
- package/src/StkTable/useAutoResize.ts +3 -1
- package/src/StkTable/useColResize.ts +28 -19
- package/src/StkTable/useThDrag.ts +5 -5
- package/src/StkTable/useVirtualScroll.ts +55 -30
package/README.md
CHANGED
|
@@ -8,12 +8,15 @@ js体积(未压缩41kb)
|
|
|
8
8
|
* [x] 横向虚拟滚动。
|
|
9
9
|
* [x] 列固定。
|
|
10
10
|
* [x] 表头拖动更改顺序。
|
|
11
|
-
* [x]
|
|
11
|
+
* [x] 表头列宽拖动调整宽度。
|
|
12
12
|
* [x] 多级表头。(不支持横向虚拟滚动)
|
|
13
13
|
* [x] 支持table-layout: fixed 配置。
|
|
14
14
|
* [x] 鼠标悬浮在表格上,键盘上下左右滚动虚拟表格
|
|
15
|
+
* [x] 斑马纹
|
|
15
16
|
* [] 列固定阴影
|
|
16
17
|
* [] 不传row-key 时,自动按序号生成id
|
|
18
|
+
* [] 列筛选
|
|
19
|
+
* [] 非虚拟滚动时,大数据分批加载。
|
|
17
20
|
|
|
18
21
|
## Usage
|
|
19
22
|
> npm install stk-table-vue
|
|
@@ -24,8 +27,8 @@ import { StkTable } from 'stk-table-vue'
|
|
|
24
27
|
import { ref } from 'vue'
|
|
25
28
|
const stkTable = ref<InstanceType<typeof StkTable>>();
|
|
26
29
|
// highlight
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
stkTable.value.setHighlightDimRow([rowId]);// highlight row
|
|
31
|
+
stkTable.value.setHighlightDimCell(rowId, colId) // highlight cell
|
|
29
32
|
</script>
|
|
30
33
|
|
|
31
34
|
<template>
|
|
@@ -36,70 +39,78 @@ const stkTable = ref<InstanceType<typeof StkTable>>();
|
|
|
36
39
|
## API
|
|
37
40
|
### StkTable Component Props
|
|
38
41
|
```ts
|
|
39
|
-
export type StkProps =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
42
|
+
export type StkProps = {
|
|
43
|
+
width?: string;
|
|
44
|
+
/** 最小表格宽度 */
|
|
45
|
+
minWidth?: string;
|
|
46
|
+
/** 表格最大宽度*/
|
|
47
|
+
maxWidth?: string;
|
|
48
|
+
/** 斑马线条纹 */
|
|
49
|
+
stripe?: boolean;
|
|
50
|
+
/** 是否使用 table-layout:fixed */
|
|
51
|
+
fixedMode?: boolean;
|
|
52
|
+
/** 是否隐藏表头 */
|
|
53
|
+
headless?: boolean;
|
|
54
|
+
/** 主题,亮、暗 */
|
|
55
|
+
theme?: 'light' | 'dark';
|
|
56
|
+
/** 行高 */
|
|
57
|
+
rowHeight?: number;
|
|
58
|
+
/** 虚拟滚动 */
|
|
59
|
+
virtual?: boolean;
|
|
60
|
+
/** x轴虚拟滚动 */
|
|
61
|
+
virtualX?: boolean;
|
|
62
|
+
/** 表格列配置 */
|
|
63
|
+
columns?: StkTableColumn<any>[];
|
|
64
|
+
/** 表格数据源 */
|
|
65
|
+
dataSource?: any[];
|
|
66
|
+
/** 行唯一键 */
|
|
67
|
+
rowKey?: UniqKey;
|
|
68
|
+
/** 列唯一键 */
|
|
69
|
+
colKey?: UniqKey;
|
|
70
|
+
/** 空值展示文字 */
|
|
71
|
+
emptyCellText?: string;
|
|
72
|
+
/** 暂无数据兜底高度是否撑满 */
|
|
73
|
+
noDataFull?: boolean;
|
|
74
|
+
/** 是否展示暂无数据 */
|
|
75
|
+
showNoData?: boolean;
|
|
76
|
+
/** 是否服务端排序,true则不排序数据 */
|
|
77
|
+
sortRemote?: boolean;
|
|
78
|
+
/** 表头是否溢出展示... */
|
|
79
|
+
showHeaderOverflow?: boolean;
|
|
80
|
+
/** 表体溢出是否展示... */
|
|
81
|
+
showOverflow?: boolean;
|
|
82
|
+
/** 是否增加行hover class */
|
|
83
|
+
showTrHoverClass?: boolean;
|
|
84
|
+
/** 表头是否可拖动 */
|
|
85
|
+
headerDrag?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* 给行附加className<br>
|
|
88
|
+
* FIXME: 是否需要优化,因为不传此prop会使表格行一直执行空函数,是否有影响
|
|
89
|
+
*/
|
|
90
|
+
rowClassName?: (row: any, i: number) => string;
|
|
91
|
+
/**
|
|
92
|
+
* 列宽是否可拖动<br>
|
|
93
|
+
* **不要设置**列minWidth,**必须**设置width<br>
|
|
94
|
+
* 列宽拖动时,每一列都必须要有width,且minWidth/maxWidth不生效。table width会变为"fit-content"。
|
|
95
|
+
*/
|
|
96
|
+
colResizable?: boolean;
|
|
97
|
+
/** 可拖动至最小的列宽 */
|
|
98
|
+
colMinWidth?: number;
|
|
99
|
+
/**
|
|
100
|
+
* 单元格分割线。
|
|
101
|
+
* 默认横竖都有
|
|
102
|
+
* "h" - 仅展示横线
|
|
103
|
+
* "v" - 仅展示竖线
|
|
104
|
+
* "body-v" - 仅表体展示竖线
|
|
105
|
+
*/
|
|
106
|
+
bordered?: boolean | 'h' | 'v' | 'body-v';
|
|
107
|
+
/**
|
|
108
|
+
* 自动重新计算虚拟滚动高度宽度。默认true
|
|
109
|
+
* [非响应式]
|
|
110
|
+
* 传入方法表示resize后的回调
|
|
111
|
+
*/
|
|
112
|
+
autoResize?: boolean | (() => void);
|
|
113
|
+
};
|
|
103
114
|
```
|
|
104
115
|
|
|
105
116
|
### StkTableColumn
|
|
@@ -155,6 +166,8 @@ export type StkTableColumn<T extends Record<string, any>> = {
|
|
|
155
166
|
:style="{height:props.height}"
|
|
156
167
|
theme='dark'
|
|
157
168
|
height='200px'
|
|
169
|
+
bordered="h"
|
|
170
|
+
:row-height="28"
|
|
158
171
|
:show-overflow="false"
|
|
159
172
|
:show-header-overflow="false"
|
|
160
173
|
:sort-remote="false"
|
|
@@ -163,6 +176,9 @@ export type StkTableColumn<T extends Record<string, any>> = {
|
|
|
163
176
|
virtual
|
|
164
177
|
virtual-x
|
|
165
178
|
no-data-full
|
|
179
|
+
col-resizable
|
|
180
|
+
auto-resize
|
|
181
|
+
:col-min-width="10"
|
|
166
182
|
:headless="false"
|
|
167
183
|
:data-source="dataSource"
|
|
168
184
|
@current-change="onCurrentChange"
|