ele-admin-plus 1.1.7 → 1.1.8-beta.2

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.
Files changed (111) hide show
  1. package/es/ele-app/el.d.ts +7 -1
  2. package/es/ele-app/style/overwrite/cascader/index.scss +2 -1
  3. package/es/ele-app/style/overwrite/input/css-var.scss +5 -2
  4. package/es/ele-app/style/overwrite/input/index.scss +148 -59
  5. package/es/ele-app/style/overwrite/select/index.scss +57 -8
  6. package/es/ele-app/style/overwrite/tree-select/index.scss +11 -2
  7. package/es/ele-card/index.d.ts +2 -9
  8. package/es/ele-card/index.js +36 -49
  9. package/es/ele-card/props.d.ts +1 -4
  10. package/es/ele-card/props.js +1 -4
  11. package/es/ele-card/style/index.js +0 -1
  12. package/es/ele-card/style/index.scss +54 -67
  13. package/es/ele-cropper/style/index.scss +8 -0
  14. package/es/ele-data-table/index.d.ts +17 -12
  15. package/es/ele-data-table/index.js +1 -0
  16. package/es/ele-data-table/props.d.ts +8 -5
  17. package/es/ele-data-table/props.js +4 -0
  18. package/es/ele-data-table/style/css-var.scss +20 -2
  19. package/es/ele-data-table/style/index.scss +87 -30
  20. package/es/ele-drawer/index.d.ts +2 -2
  21. package/es/ele-menus/index.d.ts +8 -0
  22. package/es/ele-menus/props.d.ts +3 -0
  23. package/es/ele-modal/index.d.ts +2 -2
  24. package/es/ele-page/style/index.scss +26 -21
  25. package/es/ele-pagination/style/index.scss +27 -13
  26. package/es/ele-pro-table/index.d.ts +16 -9
  27. package/es/ele-pro-table/index.js +29 -9
  28. package/es/ele-pro-table/props.d.ts +9 -6
  29. package/es/ele-pro-table/props.js +4 -0
  30. package/es/ele-pro-table/style/index.scss +62 -9
  31. package/es/ele-pro-table/util.d.ts +18 -1
  32. package/es/ele-pro-table/util.js +19 -0
  33. package/es/ele-segmented/index.js +2 -2
  34. package/es/ele-table/style/css-var.scss +46 -0
  35. package/es/ele-table/style/index.scss +8 -82
  36. package/es/ele-tabs/index.js +1 -1
  37. package/es/ele-toolbar/index.js +5 -1
  38. package/es/ele-tour/index.js +2 -2
  39. package/es/ele-tour/util.d.ts +5 -0
  40. package/es/ele-tour/util.js +9 -1
  41. package/es/ele-upload-list/components/list-item.js +1 -1
  42. package/es/ele-upload-list/types.d.ts +2 -0
  43. package/es/ele-virtual-table/components/body-cell.d.ts +2 -2
  44. package/es/ele-virtual-table/components/body-row.d.ts +2 -2
  45. package/es/ele-virtual-table/index.d.ts +20 -12
  46. package/es/ele-virtual-table/index.js +14 -1
  47. package/es/ele-virtual-table/props.d.ts +6 -3
  48. package/es/ele-virtual-table/style/css-var.scss +38 -16
  49. package/es/ele-virtual-table/style/index.scss +42 -31
  50. package/es/ele-watermark/index.d.ts +9 -0
  51. package/es/ele-watermark/index.js +3 -5
  52. package/es/ele-watermark/props.d.ts +5 -0
  53. package/es/ele-watermark/props.js +5 -0
  54. package/es/style/themes/default.scss +17 -9
  55. package/es/style/util.scss +5 -0
  56. package/lib/ele-app/el.d.ts +7 -1
  57. package/lib/ele-app/style/overwrite/cascader/index.scss +2 -1
  58. package/lib/ele-app/style/overwrite/input/css-var.scss +5 -2
  59. package/lib/ele-app/style/overwrite/input/index.scss +148 -59
  60. package/lib/ele-app/style/overwrite/select/index.scss +57 -8
  61. package/lib/ele-app/style/overwrite/tree-select/index.scss +11 -2
  62. package/lib/ele-card/index.cjs +35 -48
  63. package/lib/ele-card/index.d.ts +2 -9
  64. package/lib/ele-card/props.cjs +1 -4
  65. package/lib/ele-card/props.d.ts +1 -4
  66. package/lib/ele-card/style/index.cjs +0 -1
  67. package/lib/ele-card/style/index.scss +54 -67
  68. package/lib/ele-cropper/style/index.scss +8 -0
  69. package/lib/ele-data-table/index.cjs +1 -0
  70. package/lib/ele-data-table/index.d.ts +17 -12
  71. package/lib/ele-data-table/props.cjs +4 -0
  72. package/lib/ele-data-table/props.d.ts +8 -5
  73. package/lib/ele-data-table/style/css-var.scss +20 -2
  74. package/lib/ele-data-table/style/index.scss +87 -30
  75. package/lib/ele-drawer/index.d.ts +2 -2
  76. package/lib/ele-menus/index.d.ts +8 -0
  77. package/lib/ele-menus/props.d.ts +3 -0
  78. package/lib/ele-modal/index.d.ts +2 -2
  79. package/lib/ele-page/style/index.scss +26 -21
  80. package/lib/ele-pagination/style/index.scss +27 -13
  81. package/lib/ele-pro-table/index.cjs +28 -8
  82. package/lib/ele-pro-table/index.d.ts +16 -9
  83. package/lib/ele-pro-table/props.cjs +4 -0
  84. package/lib/ele-pro-table/props.d.ts +9 -6
  85. package/lib/ele-pro-table/style/index.scss +62 -9
  86. package/lib/ele-pro-table/util.cjs +19 -0
  87. package/lib/ele-pro-table/util.d.ts +18 -1
  88. package/lib/ele-segmented/index.cjs +2 -2
  89. package/lib/ele-table/style/css-var.scss +46 -0
  90. package/lib/ele-table/style/index.scss +8 -82
  91. package/lib/ele-tabs/index.cjs +1 -1
  92. package/lib/ele-toolbar/index.cjs +5 -1
  93. package/lib/ele-tour/index.cjs +1 -1
  94. package/lib/ele-tour/util.cjs +8 -0
  95. package/lib/ele-tour/util.d.ts +5 -0
  96. package/lib/ele-upload-list/components/list-item.cjs +1 -1
  97. package/lib/ele-upload-list/types.d.ts +2 -0
  98. package/lib/ele-virtual-table/components/body-cell.d.ts +2 -2
  99. package/lib/ele-virtual-table/components/body-row.d.ts +2 -2
  100. package/lib/ele-virtual-table/index.cjs +13 -0
  101. package/lib/ele-virtual-table/index.d.ts +20 -12
  102. package/lib/ele-virtual-table/props.d.ts +6 -3
  103. package/lib/ele-virtual-table/style/css-var.scss +38 -16
  104. package/lib/ele-virtual-table/style/index.scss +42 -31
  105. package/lib/ele-watermark/index.cjs +3 -5
  106. package/lib/ele-watermark/index.d.ts +9 -0
  107. package/lib/ele-watermark/props.cjs +5 -0
  108. package/lib/ele-watermark/props.d.ts +5 -0
  109. package/lib/style/themes/default.scss +17 -9
  110. package/lib/style/util.scss +5 -0
  111. package/package.json +20 -20
@@ -4,18 +4,71 @@
4
4
 
5
5
  @include set-pro-table-var($ele);
6
6
 
7
- .ele-pro-table {
8
- /* 工具栏 */
9
- & > .ele-toolbar {
10
- border-bottom: none;
11
- border-bottom-left-radius: 0;
12
- border-bottom-right-radius: 0;
7
+ /* 工具栏 */
8
+ .ele-pro-table > .ele-toolbar {
9
+ border-bottom-left-radius: 0;
10
+ border-bottom-right-radius: 0;
11
+
12
+ & + .ele-toolbar {
13
+ border-top: none;
14
+ }
15
+ }
16
+
17
+ .ele-pro-table:not(.is-border) > .ele-toolbar {
18
+ border-top: none;
19
+ border-left: none;
20
+ border-right: none;
21
+ }
22
+
23
+ .ele-pro-table.is-border > .ele-toolbar {
24
+ border-bottom: none;
25
+ }
26
+
27
+ /* 取消表格上边圆角 */
28
+ .ele-pro-table > .ele-toolbar.is-default {
29
+ & + .ele-data-table > .el-table__inner-wrapper > .el-table__header-wrapper,
30
+ & + .ele-data-table.el-table--border > .el-table__inner-wrapper::after,
31
+ &
32
+ + .ele-data-table.el-table--border.hide-header
33
+ > .el-table__inner-wrapper
34
+ > .el-table__body-wrapper,
35
+ &
36
+ + .ele-virtual-table
37
+ > .el-table-v2
38
+ > .el-table-v2__main
39
+ > .el-table-v2__header-wrapper,
40
+ & + .ele-virtual-table.is-border > .el-table-v2::after,
41
+ &
42
+ + .ele-virtual-table.is-border.hide-header
43
+ > .el-table-v2
44
+ > .el-table-v2__main
45
+ > .el-table-v2__body
46
+ > div:not(.el-virtual-scrollbar) {
47
+ border-top-left-radius: 0;
48
+ border-top-right-radius: 0;
49
+ }
50
+
51
+ & + .ele-data-table.el-table--border::before,
52
+ & + .ele-virtual-table.is-border::before {
53
+ border-top-left-radius: 0;
13
54
  }
14
55
 
15
- /* 加载图标 */
16
- & > .ele-loading-spinner {
17
- background: transparent;
56
+ & + .ele-data-table.el-table--border::after,
57
+ & + .ele-virtual-table.is-border::after {
58
+ border-top-right-radius: 0;
18
59
  }
60
+
61
+ &
62
+ + .ele-data-table.hide-header:not(.el-table--border)
63
+ > .el-table__inner-wrapper::after,
64
+ & + .ele-virtual-table.hide-header:not(.is-border) > .el-table-v2::after {
65
+ display: none;
66
+ }
67
+ }
68
+
69
+ /* 加载图标 */
70
+ .ele-pro-table > .ele-loading-spinner {
71
+ background: transparent;
19
72
  }
20
73
 
21
74
  /* 底栏 */
@@ -1,5 +1,5 @@
1
1
  import type { ElePaginationProps } from '../ele-app/plus';
2
- import type { DataItem, Column, Columns, Sorter, Filter, TableSize, TreeProps } from '../ele-data-table/types';
2
+ import type { DataItem, Column, Columns, Sorter, Filter, TableSize, TreeProps, RowKey } from '../ele-data-table/types';
3
3
  import type { Orders, Filters, OrderItem, RequestOption, ResponseOption, TablePagination, DatasourceResult, ResponseResult, ReloadDataResult, ColItem, ProProps } from './types';
4
4
  /**
5
5
  * 合并复合属性
@@ -153,3 +153,20 @@ export declare function getSizeCacheKey(cacheKey: string): string;
153
153
  * @param cacheKey 缓存的名称
154
154
  */
155
155
  export declare function getCacheSize(cacheKey?: string): TableSize;
156
+ /**
157
+ * 获取默认 rowKey
158
+ * @param rowKey 自定义 rowKey
159
+ */
160
+ export declare function getDefaultRowKey(rowKey?: RowKey): "_rowKey" | undefined;
161
+ /**
162
+ * 获取 rowKey
163
+ * @param rowKey 自定义 rowKey
164
+ */
165
+ export declare function getRowKey(rowKey?: RowKey): string | ((row: DataItem) => string) | undefined;
166
+ /**
167
+ * 数据添加默认的 rowKey 字段
168
+ * @param data 数据
169
+ * @param rowKey 字段名
170
+ * @param page 页码
171
+ */
172
+ export declare function addDefaultRowKey(data: DataItem[], rowKey: string | undefined, page: number): DataItem[];
@@ -359,13 +359,31 @@ function getCacheSize(cacheKey) {
359
359
  }
360
360
  }
361
361
  }
362
+ function getDefaultRowKey(rowKey) {
363
+ return rowKey ? void 0 : "_rowKey";
364
+ }
365
+ function getRowKey(rowKey) {
366
+ return rowKey ?? getDefaultRowKey();
367
+ }
368
+ function addDefaultRowKey(data, rowKey, page) {
369
+ if (rowKey == null) {
370
+ return data;
371
+ }
372
+ return data.map((d, i) => {
373
+ const item = { ...d };
374
+ item[rowKey] = `${page}-${i}`;
375
+ return item;
376
+ });
377
+ }
362
378
  export {
379
+ addDefaultRowKey,
363
380
  getCacheCols,
364
381
  getCacheSize,
365
382
  getCheckedColumns,
366
383
  getColId,
367
384
  getColsCacheKey,
368
385
  getDefaultFilter,
386
+ getDefaultRowKey,
369
387
  getInitCacheColumns,
370
388
  getInitColumns,
371
389
  getOrderItems,
@@ -376,6 +394,7 @@ export {
376
394
  getResponseData,
377
395
  getResponseName,
378
396
  getResponseResult,
397
+ getRowKey,
379
398
  getSettingCols,
380
399
  getSizeCacheKey,
381
400
  getTableLimit,
@@ -48,9 +48,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
48
48
  "onUpdate:modelValue": _ctx.onUpdateModelValue
49
49
  }, {
50
50
  default: withCtx(() => [
51
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
51
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index2) => {
52
52
  return openBlock(), createBlock(_component_ElTabPane, {
53
- key: item.value,
53
+ key: index2 + "-" + item.value + "-" + item.label,
54
54
  name: item.value,
55
55
  disabled: _ctx.disabled || item.disabled
56
56
  }, {
@@ -6,3 +6,49 @@
6
6
  @include set-ele-var('table', $var);
7
7
  }
8
8
  }
9
+
10
+ /* 静态表格圆角 */
11
+ @mixin table-radius($radius) {
12
+ & > thead > tr:first-child > th:first-child,
13
+ & > thead > tr:first-child > td:first-child,
14
+ &.is-border:not(.has-header) > tr:first-child > td:first-child,
15
+ &.is-border:not(.has-header) > tbody > tr:first-child > td:first-child {
16
+ border-top-left-radius: $radius;
17
+ }
18
+
19
+ & > thead > tr:first-child > th:last-child,
20
+ & > thead > tr:first-child > td:last-child,
21
+ &.is-border:not(.has-header) > tr:first-child > td:last-child,
22
+ &.is-border:not(.has-header) > tbody > tr:first-child > td:last-child {
23
+ border-top-right-radius: $radius;
24
+ }
25
+
26
+ &.is-border:not(.has-footer) > tr:last-child > td:first-child,
27
+ &.is-border:not(.has-footer) > tbody > tr:last-child > td:first-child,
28
+ & > tfoot > tr:last-child > td:first-child {
29
+ border-bottom-left-radius: $radius;
30
+ }
31
+
32
+ &.is-border:not(.has-footer) > tr:last-child > td:last-child,
33
+ &.is-border:not(.has-footer) > tbody > tr:last-child > td:last-child,
34
+ & > tfoot > tr:last-child > td:last-child {
35
+ border-bottom-right-radius: $radius;
36
+ }
37
+
38
+ &.has-header {
39
+ border-top-left-radius: $radius;
40
+ border-top-right-radius: $radius;
41
+ }
42
+
43
+ &.has-footer {
44
+ border-bottom-left-radius: $radius;
45
+ border-bottom-right-radius: $radius;
46
+ }
47
+
48
+ &.is-border {
49
+ border-top-left-radius: $radius;
50
+ border-top-right-radius: $radius;
51
+ border-bottom-left-radius: $radius;
52
+ border-bottom-right-radius: $radius;
53
+ }
54
+ }
@@ -18,7 +18,7 @@
18
18
  & > th,
19
19
  & > td {
20
20
  color: eleVar('table', 'color');
21
- font-size: eleVar('table', 'font-szie');
21
+ font-size: eleVar('table', 'font-size');
22
22
  font-weight: normal;
23
23
  line-height: eleVar('table', 'line-height');
24
24
  padding: eleVar('table', 'padding');
@@ -82,33 +82,7 @@
82
82
  }
83
83
 
84
84
  /* 圆角 */
85
- & > thead > tr:first-child > th:first-child,
86
- & > thead > tr:first-child > td:first-child {
87
- border-top-left-radius: eleVar('table', 'radius');
88
- }
89
-
90
- & > thead > tr:first-child > th:last-child,
91
- & > thead > tr:first-child > td:last-child {
92
- border-top-right-radius: eleVar('table', 'radius');
93
- }
94
-
95
- & > tfoot > tr:last-child > td:first-child {
96
- border-bottom-left-radius: eleVar('table', 'radius');
97
- }
98
-
99
- & > tfoot > tr:last-child > td:last-child {
100
- border-bottom-right-radius: eleVar('table', 'radius');
101
- }
102
-
103
- &.has-header {
104
- border-top-left-radius: eleVar('table', 'radius');
105
- border-top-right-radius: eleVar('table', 'radius');
106
- }
107
-
108
- &.has-footer {
109
- border-bottom-left-radius: eleVar('table', 'radius');
110
- border-bottom-right-radius: eleVar('table', 'radius');
111
- }
85
+ @include table-radius(eleVar('table', 'radius'));
112
86
 
113
87
  /* 斑马纹 */
114
88
  &.is-stripe {
@@ -151,33 +125,7 @@
151
125
  }
152
126
  }
153
127
 
154
- & > thead > tr:first-child > th:first-child,
155
- & > thead > tr:first-child > td:first-child {
156
- border-top-left-radius: eleVar('table', 'lg-radius');
157
- }
158
-
159
- & > thead > tr:first-child > th:last-child,
160
- & > thead > tr:first-child > td:last-child {
161
- border-top-right-radius: eleVar('table', 'lg-radius');
162
- }
163
-
164
- & > tfoot > tr:last-child > td:first-child {
165
- border-bottom-left-radius: eleVar('table', 'lg-radius');
166
- }
167
-
168
- & > tfoot > tr:last-child > td:last-child {
169
- border-bottom-right-radius: eleVar('table', 'lg-radius');
170
- }
171
-
172
- &.has-header {
173
- border-top-left-radius: eleVar('table', 'lg-radius');
174
- border-top-right-radius: eleVar('table', 'lg-radius');
175
- }
176
-
177
- &.has-footer {
178
- border-bottom-left-radius: eleVar('table', 'lg-radius');
179
- border-bottom-right-radius: eleVar('table', 'lg-radius');
180
- }
128
+ @include table-radius(eleVar('table', 'lg-radius'));
181
129
  }
182
130
 
183
131
  /* 小型尺寸 */
@@ -193,33 +141,7 @@
193
141
  }
194
142
  }
195
143
 
196
- & > thead > tr:first-child > th:first-child,
197
- & > thead > tr:first-child > td:first-child {
198
- border-top-left-radius: eleVar('table', 'sm-radius');
199
- }
200
-
201
- & > thead > tr:first-child > th:last-child,
202
- & > thead > tr:first-child > td:last-child {
203
- border-top-right-radius: eleVar('table', 'sm-radius');
204
- }
205
-
206
- & > tfoot > tr:last-child > td:first-child {
207
- border-bottom-left-radius: eleVar('table', 'sm-radius');
208
- }
209
-
210
- & > tfoot > tr:last-child > td:last-child {
211
- border-bottom-right-radius: eleVar('table', 'sm-radius');
212
- }
213
-
214
- &.has-header {
215
- border-top-left-radius: eleVar('table', 'sm-radius');
216
- border-top-right-radius: eleVar('table', 'sm-radius');
217
- }
218
-
219
- &.has-footer {
220
- border-bottom-left-radius: eleVar('table', 'sm-radius');
221
- border-bottom-right-radius: eleVar('table', 'sm-radius');
222
- }
144
+ @include table-radius(eleVar('table', 'sm-radius'));
223
145
  }
224
146
 
225
147
  /* 全边框 */
@@ -238,6 +160,10 @@
238
160
  }
239
161
  }
240
162
 
163
+ &:not(.has-header) {
164
+ border-top: 1px solid eleVar('table', 'border-color');
165
+ }
166
+
241
167
  /* 表格内组件样式优化 */
242
168
  @include table-common-style();
243
169
  }
@@ -231,7 +231,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
231
231
  default: withCtx(() => [
232
232
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index2) => {
233
233
  return openBlock(), createBlock(_component_ElTabPane, mergeProps({
234
- key: index2 + "-" + item.name
234
+ key: index2 + "-" + item.name + "-" + item.label
235
235
  }, _ctx.omit(item, ["slot", "meta"])), createSlots({
236
236
  label: withCtx(() => [
237
237
  createVNode(_component_TabTitle, {
@@ -16,7 +16,11 @@ const _export_sfc = (sfc, props) => {
16
16
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
17
17
  const _component_EleText = resolveComponent("EleText");
18
18
  return openBlock(), createElementBlock("div", {
19
- class: normalizeClass(["ele-toolbar", { "is-plain": "plain" === _ctx.theme }])
19
+ class: normalizeClass([
20
+ "ele-toolbar",
21
+ { "is-default": "plain" !== _ctx.theme },
22
+ { "is-plain": "plain" === _ctx.theme }
23
+ ])
20
24
  }, [
21
25
  _ctx.title || _ctx.subtitle ? (openBlock(), createElementBlock("div", {
22
26
  key: 0,
@@ -2,7 +2,7 @@ import { defineComponent, ref, shallowRef, onMounted, watch, nextTick, resolveCo
2
2
  import { ElButton } from "element-plus";
3
3
  import EleTooltip from "../ele-tooltip/index";
4
4
  import { useLicense, useLocale } from "../ele-config-provider/receiver";
5
- import { getOffset, getPopperProps } from "./util";
5
+ import { scrollIntoView, getOffset, getPopperProps } from "./util";
6
6
  import { tourProps, tourEmits } from "./props";
7
7
  const _sfc_main = defineComponent({
8
8
  name: "EleTour",
@@ -34,7 +34,7 @@ const _sfc_main = defineComponent({
34
34
  showMask.value = mask ?? props.mask;
35
35
  const el = typeof target === "function" ? target() : target;
36
36
  if (el) {
37
- el.focus();
37
+ scrollIntoView(el);
38
38
  const { width, height } = el.getBoundingClientRect();
39
39
  const { top, left } = getOffset(el);
40
40
  const space = padding ?? props.padding ?? 0;
@@ -12,3 +12,8 @@ export declare function getOffset(el: HTMLElement): Offset;
12
12
  * @param props 自定义属性
13
13
  */
14
14
  export declare function getPopperProps(visible?: boolean, modal?: boolean, props?: EleTooltipProps): EleTooltipProps;
15
+ /**
16
+ * 让元素可见
17
+ * @param el 元素
18
+ */
19
+ export declare function scrollIntoView(el: HTMLElement): void;
@@ -29,7 +29,15 @@ function getPopperProps(visible, modal, props) {
29
29
  popperClass: classes.join(" ")
30
30
  };
31
31
  }
32
+ function scrollIntoView(el) {
33
+ if (typeof el["scrollIntoViewIfNeeded"] === "function") {
34
+ el.scrollIntoViewIfNeeded(true);
35
+ } else {
36
+ el.scrollIntoView({ behavior: "instant", block: "nearest" });
37
+ }
38
+ }
32
39
  export {
33
40
  getOffset,
34
- getPopperProps
41
+ getPopperProps,
42
+ scrollIntoView
35
43
  };
@@ -97,7 +97,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
97
97
  })
98
98
  ]))
99
99
  ]),
100
- !_ctx.readonly && !_ctx.disabled ? (openBlock(), createElementBlock("div", {
100
+ !_ctx.readonly && !_ctx.disabled && !_ctx.item.readonly ? (openBlock(), createElementBlock("div", {
101
101
  key: 0,
102
102
  class: "ele-upload-remove",
103
103
  onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.onRemove && _ctx.onRemove(...args), ["stop"]))
@@ -14,6 +14,8 @@ export interface UploadItem extends Record<keyof any, any> {
14
14
  progress?: number;
15
15
  /** 选择的文件 */
16
16
  file?: File;
17
+ /** 是否只读 */
18
+ readonly?: boolean;
17
19
  }
18
20
 
19
21
  /**
@@ -30,7 +30,7 @@ declare const _default: import("vue").DefineComponent<{
30
30
  colspan: number;
31
31
  } | undefined) | undefined>;
32
32
  /** 溢出提示组件全局属性 */
33
- tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
33
+ tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
34
34
  /** 序号列起始编号 */
35
35
  pageIndex: NumberConstructor;
36
36
  /** 表格行高 */
@@ -110,7 +110,7 @@ declare const _default: import("vue").DefineComponent<{
110
110
  colspan: number;
111
111
  } | undefined) | undefined>;
112
112
  /** 溢出提示组件全局属性 */
113
- tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
113
+ tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
114
114
  /** 序号列起始编号 */
115
115
  pageIndex: NumberConstructor;
116
116
  /** 表格行高 */
@@ -29,7 +29,7 @@ declare const _default: import("vue").DefineComponent<{
29
29
  colspan: number;
30
30
  } | undefined) | undefined>;
31
31
  /** 溢出提示组件全局属性 */
32
- tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
32
+ tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
33
33
  /** 序号列起始编号 */
34
34
  pageIndex: NumberConstructor;
35
35
  /** 表格行高 */
@@ -109,7 +109,7 @@ declare const _default: import("vue").DefineComponent<{
109
109
  colspan: number;
110
110
  } | undefined) | undefined>;
111
111
  /** 溢出提示组件全局属性 */
112
- tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
112
+ tableTooltipProps: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
113
113
  /** 序号列起始编号 */
114
114
  pageIndex: NumberConstructor;
115
115
  /** 表格行高 */
@@ -12,6 +12,10 @@ declare const _default: import("vue").DefineComponent<{
12
12
  type: BooleanConstructor;
13
13
  default: null;
14
14
  };
15
+ rowKey: {
16
+ type: import("vue").PropType<string | ((row: DataItem) => string) | undefined>;
17
+ required: boolean;
18
+ };
15
19
  columns: {
16
20
  type: import("vue").PropType<import("../ele-data-table/types").Columns>;
17
21
  required: boolean;
@@ -48,7 +52,7 @@ declare const _default: import("vue").DefineComponent<{
48
52
  maxHeight: (StringConstructor | NumberConstructor)[];
49
53
  fit: {
50
54
  type: BooleanConstructor;
51
- default: boolean; /** 是否是树形数据 */
55
+ default: boolean;
52
56
  };
53
57
  className: {
54
58
  type: StringConstructor;
@@ -56,7 +60,6 @@ declare const _default: import("vue").DefineComponent<{
56
60
  };
57
61
  width: (StringConstructor | NumberConstructor)[];
58
62
  lazy: BooleanConstructor;
59
- rowKey: import("vue").PropType<string | ((row: any) => string) | undefined>;
60
63
  data: {
61
64
  type: import("vue").PropType<any[]>;
62
65
  default: () => never[];
@@ -66,9 +69,10 @@ declare const _default: import("vue").DefineComponent<{
66
69
  type: BooleanConstructor;
67
70
  default: boolean;
68
71
  };
69
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
72
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
70
73
  emptyText: StringConstructor;
71
74
  indent: {
75
+ /** 是否显示表尾 */
72
76
  type: NumberConstructor;
73
77
  default: number;
74
78
  };
@@ -93,7 +97,7 @@ declare const _default: import("vue").DefineComponent<{
93
97
  defaultExpandAll: BooleanConstructor;
94
98
  defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
95
99
  tooltipEffect: StringConstructor;
96
- tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
100
+ tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
97
101
  spanMethod: import("vue").PropType<((data: {
98
102
  row: any;
99
103
  rowIndex: number;
@@ -203,18 +207,18 @@ declare const _default: import("vue").DefineComponent<{
203
207
  cellDblclick: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
204
208
  cellContextmenu: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
205
209
  rowClick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
206
- rowContextmenu: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
210
+ rowContextmenu: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean; /** 根节点 */
207
211
  rowDblclick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
208
- /** 根节点 */
209
212
  headerClick: (_column: Column, _e: MouseEvent) => boolean;
210
213
  headerContextmenu: (_column: Column, _e: MouseEvent) => boolean;
211
214
  sortChange: (_sorter: import("../ele-data-table/types").Sorter) => boolean;
212
- filterChange: (_filter: Filter) => boolean; /** 表头行 */
215
+ filterChange: (_filter: Filter) => boolean; /** 主体区域列 */
213
216
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
217
+ /** 表头所有行列宽 */
214
218
  headerDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => boolean;
215
219
  expandChange: (_row: DataItem, _expanded: boolean) => boolean;
216
220
  'update:currentRowKey': (_currentRowKey?: DataKey | undefined) => boolean;
217
- 'update:selectedRowKeys': (_selectedRowKeys?: DataKey[] | undefined) => boolean; /** 表格宽度 */
221
+ 'update:selectedRowKeys': (_selectedRowKeys?: DataKey[] | undefined) => boolean;
218
222
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
219
223
  rowHeight: NumberConstructor;
220
224
  stripe: {
@@ -225,6 +229,10 @@ declare const _default: import("vue").DefineComponent<{
225
229
  type: BooleanConstructor;
226
230
  default: null;
227
231
  };
232
+ rowKey: {
233
+ type: import("vue").PropType<string | ((row: DataItem) => string) | undefined>;
234
+ required: boolean;
235
+ };
228
236
  columns: {
229
237
  type: import("vue").PropType<import("../ele-data-table/types").Columns>;
230
238
  required: boolean;
@@ -261,7 +269,7 @@ declare const _default: import("vue").DefineComponent<{
261
269
  maxHeight: (StringConstructor | NumberConstructor)[];
262
270
  fit: {
263
271
  type: BooleanConstructor;
264
- default: boolean; /** 是否是树形数据 */
272
+ default: boolean;
265
273
  };
266
274
  className: {
267
275
  type: StringConstructor;
@@ -269,7 +277,6 @@ declare const _default: import("vue").DefineComponent<{
269
277
  };
270
278
  width: (StringConstructor | NumberConstructor)[];
271
279
  lazy: BooleanConstructor;
272
- rowKey: import("vue").PropType<string | ((row: any) => string) | undefined>;
273
280
  data: {
274
281
  type: import("vue").PropType<any[]>;
275
282
  default: () => never[];
@@ -279,9 +286,10 @@ declare const _default: import("vue").DefineComponent<{
279
286
  type: BooleanConstructor;
280
287
  default: boolean;
281
288
  };
282
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
289
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
283
290
  emptyText: StringConstructor;
284
291
  indent: {
292
+ /** 是否显示表尾 */
285
293
  type: NumberConstructor;
286
294
  default: number;
287
295
  };
@@ -306,7 +314,7 @@ declare const _default: import("vue").DefineComponent<{
306
314
  defaultExpandAll: BooleanConstructor;
307
315
  defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
308
316
  tooltipEffect: StringConstructor;
309
- tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
317
+ tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
310
318
  spanMethod: import("vue").PropType<((data: {
311
319
  row: any;
312
320
  rowIndex: number;
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, reactive, computed, onActivated, onDeactivated, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, mergeProps, createSlots, withCtx, renderList, renderSlot, normalizeProps, guardReactiveProps, createCommentVNode, toDisplayString, createVNode } from "vue";
1
+ import { defineComponent, ref, reactive, computed, onActivated, onDeactivated, watch, nextTick, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, mergeProps, createSlots, withCtx, renderList, renderSlot, normalizeProps, guardReactiveProps, createCommentVNode, toDisplayString, createVNode } from "vue";
2
2
  import { ElTableV2, ElEmpty, useLocale } from "element-plus";
3
3
  import { eachTree } from "../utils/core";
4
4
  import EleTooltip from "../ele-tooltip/index";
@@ -893,6 +893,19 @@ const _sfc_main = defineComponent({
893
893
  },
894
894
  { deep: true }
895
895
  );
896
+ watch(
897
+ () => props.showHeader,
898
+ (showHeader) => {
899
+ if (showHeader) {
900
+ nextTick(() => {
901
+ const left = tableScrollLeft.value;
902
+ if (left) {
903
+ setScrollLeft(left - 1);
904
+ }
905
+ });
906
+ }
907
+ }
908
+ );
896
909
  return {
897
910
  rootRef,
898
911
  tableRef,
@@ -13,6 +13,10 @@ export declare const virtualTableProps: {
13
13
  type: BooleanConstructor;
14
14
  default: null;
15
15
  };
16
+ rowKey: {
17
+ type: import("vue").PropType<string | ((row: import("../ele-data-table/types").DataItem) => string) | undefined>;
18
+ required: boolean;
19
+ };
16
20
  columns: {
17
21
  type: import("vue").PropType<import("../ele-data-table/types").Columns>;
18
22
  required: boolean;
@@ -57,7 +61,6 @@ export declare const virtualTableProps: {
57
61
  };
58
62
  width: (StringConstructor | NumberConstructor)[];
59
63
  lazy: BooleanConstructor;
60
- rowKey: import("vue").PropType<string | ((row: any) => string) | undefined>;
61
64
  data: {
62
65
  type: import("vue").PropType<any[]>;
63
66
  default: () => never[];
@@ -67,7 +70,7 @@ export declare const virtualTableProps: {
67
70
  type: BooleanConstructor;
68
71
  default: boolean;
69
72
  };
70
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
73
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
71
74
  emptyText: StringConstructor;
72
75
  indent: {
73
76
  type: NumberConstructor;
@@ -94,7 +97,7 @@ export declare const virtualTableProps: {
94
97
  defaultExpandAll: BooleanConstructor;
95
98
  defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
96
99
  tooltipEffect: StringConstructor;
97
- tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
100
+ tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
98
101
  spanMethod: import("vue").PropType<((data: {
99
102
  row: any;
100
103
  rowIndex: number;