vxe-table 3.12.8 → 3.12.10-beta.0
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/es/grid/src/grid.js +6 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/export/mixin.js +3 -3
- package/es/table/module/filter/mixin.js +3 -3
- package/es/table/module/keyboard/mixin.js +4 -4
- package/es/table/module/menu/mixin.js +2 -2
- package/es/table/module/validator/mixin.js +2 -2
- package/es/table/src/body.js +262 -363
- package/es/table/src/footer.js +135 -154
- package/es/table/src/header.js +120 -100
- package/es/table/src/methods.js +1175 -816
- package/es/table/src/props.js +9 -3
- package/es/table/src/table.js +187 -103
- package/es/table/src/util.js +35 -21
- package/es/table/style.css +146 -63
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +14 -4
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +146 -63
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +4 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1920 -1599
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/export/mixin.js +3 -3
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +4 -4
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +5 -5
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +2 -2
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +2 -2
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/body.js +205 -381
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +124 -151
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +97 -74
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +1261 -875
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +9 -3
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +171 -90
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +38 -22
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +146 -63
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +14 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +146 -63
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +6 -1
- package/packages/table/module/export/mixin.ts +3 -3
- package/packages/table/module/filter/mixin.ts +3 -3
- package/packages/table/module/keyboard/mixin.ts +4 -4
- package/packages/table/module/menu/mixin.ts +2 -2
- package/packages/table/module/validator/mixin.ts +2 -2
- package/packages/table/src/body.ts +296 -436
- package/packages/table/src/footer.ts +148 -164
- package/packages/table/src/header.ts +135 -111
- package/packages/table/src/methods.ts +1249 -873
- package/packages/table/src/props.ts +9 -3
- package/packages/table/src/table.ts +195 -146
- package/packages/table/src/util.ts +40 -23
- package/packages/ui/index.ts +13 -3
- package/styles/components/table.scss +164 -74
- /package/es/{iconfont.1736406699090.ttf → iconfont.1736688976404.ttf} +0 -0
- /package/es/{iconfont.1736406699090.woff → iconfont.1736688976404.woff} +0 -0
- /package/es/{iconfont.1736406699090.woff2 → iconfont.1736688976404.woff2} +0 -0
- /package/lib/{iconfont.1736406699090.ttf → iconfont.1736688976404.ttf} +0 -0
- /package/lib/{iconfont.1736406699090.woff → iconfont.1736688976404.woff} +0 -0
- /package/lib/{iconfont.1736406699090.woff2 → iconfont.1736688976404.woff2} +0 -0
package/es/table/src/header.js
CHANGED
|
@@ -5,11 +5,18 @@ import { getOffsetPos, hasClass, addClass, removeClass } from '../../ui/src/dom'
|
|
|
5
5
|
import { convertHeaderColumnToRows, getColReMinWidth } from './util';
|
|
6
6
|
const { getI18n, renderer, renderEmptyElement } = VxeUI;
|
|
7
7
|
const cellType = 'header';
|
|
8
|
-
const renderRows = (h, _vm, cols, $rowIndex) => {
|
|
8
|
+
const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
9
|
+
const props = _vm;
|
|
9
10
|
const $xeTable = _vm.$parent;
|
|
10
11
|
const $xeGrid = $xeTable.xegrid;
|
|
11
|
-
const
|
|
12
|
-
const
|
|
12
|
+
const tableProps = $xeTable;
|
|
13
|
+
const tableReactData = $xeTable;
|
|
14
|
+
const tableInternalData = $xeTable;
|
|
15
|
+
const { fixedType } = props;
|
|
16
|
+
const { resizable: allResizable, border, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
|
|
17
|
+
const { currentColumn, scrollXLoad, scrollYLoad, overflowX } = tableReactData;
|
|
18
|
+
const { scrollXStore } = tableInternalData;
|
|
19
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
13
20
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
14
21
|
const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
|
|
15
22
|
return cols.map((column, $columnIndex) => {
|
|
@@ -67,6 +74,10 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
|
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
76
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
77
|
+
let isPreLoadStatus = false;
|
|
78
|
+
if (scrollXLoad && !isGroup && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
|
|
79
|
+
isPreLoadStatus = true;
|
|
80
|
+
}
|
|
70
81
|
return h('th', {
|
|
71
82
|
class: ['vxe-header--column', colid, {
|
|
72
83
|
[`col--${headAlign}`]: headAlign,
|
|
@@ -85,7 +96,7 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
|
|
|
85
96
|
'col--current': currentColumn === column
|
|
86
97
|
}, getClass(headerClassName, params), getClass(headerCellClassName, params)],
|
|
87
98
|
attrs: thAttrs,
|
|
88
|
-
style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) :
|
|
99
|
+
style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) : undefined,
|
|
89
100
|
on: thOns,
|
|
90
101
|
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
91
102
|
}, [
|
|
@@ -95,7 +106,7 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
|
|
|
95
106
|
'c--tooltip': showTooltip,
|
|
96
107
|
'c--ellipsis': showEllipsis
|
|
97
108
|
}]
|
|
98
|
-
}, column.renderHeader(h, params)),
|
|
109
|
+
}, isPreLoadStatus || (isOptimizeMode && fixedHiddenColumn) ? [] : column.renderHeader(h, params)),
|
|
99
110
|
/**
|
|
100
111
|
* 列宽拖动
|
|
101
112
|
*/
|
|
@@ -111,23 +122,18 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
|
|
|
111
122
|
})
|
|
112
123
|
: null
|
|
113
124
|
]);
|
|
114
|
-
})
|
|
115
|
-
? [
|
|
116
|
-
h('th', {
|
|
117
|
-
key: `gr${$rowIndex}`,
|
|
118
|
-
class: 'vxe-header--gutter col--gutter'
|
|
119
|
-
})
|
|
120
|
-
]
|
|
121
|
-
: []);
|
|
125
|
+
});
|
|
122
126
|
};
|
|
123
|
-
function renderHeads(h, _vm, headerGroups) {
|
|
127
|
+
function renderHeads(h, _vm, isGroup, isOptimizeMode, headerGroups) {
|
|
128
|
+
const props = _vm;
|
|
124
129
|
const $xeTable = _vm.$parent;
|
|
125
130
|
const tableProps = $xeTable;
|
|
126
|
-
const
|
|
131
|
+
const tableReactData = $xeTable;
|
|
132
|
+
const { fixedType } = props;
|
|
127
133
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
128
134
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
129
135
|
const { headerRowClassName, headerRowStyle } = tableProps;
|
|
130
|
-
const { isDragColMove } =
|
|
136
|
+
const { isDragColMove } = tableReactData;
|
|
131
137
|
return headerGroups.map((cols, $rowIndex) => {
|
|
132
138
|
const params = { $table: $xeTable, $rowIndex, fixed: fixedType, type: cellType };
|
|
133
139
|
if (columnOpts.drag && columnDragOpts.animation) {
|
|
@@ -142,7 +148,7 @@ function renderHeads(h, _vm, headerGroups) {
|
|
|
142
148
|
],
|
|
143
149
|
style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle) : null
|
|
144
150
|
}
|
|
145
|
-
}, renderRows(h, _vm, cols, $rowIndex));
|
|
151
|
+
}, renderRows(h, _vm, isGroup, isOptimizeMode, cols, $rowIndex));
|
|
146
152
|
}
|
|
147
153
|
return h('tr', {
|
|
148
154
|
key: $rowIndex,
|
|
@@ -150,8 +156,8 @@ function renderHeads(h, _vm, headerGroups) {
|
|
|
150
156
|
'vxe-header--row',
|
|
151
157
|
headerRowClassName ? XEUtils.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''
|
|
152
158
|
],
|
|
153
|
-
style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle) :
|
|
154
|
-
}, renderRows(h, _vm, cols, $rowIndex));
|
|
159
|
+
style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle) : undefined
|
|
160
|
+
}, renderRows(h, _vm, isGroup, isOptimizeMode, cols, $rowIndex));
|
|
155
161
|
});
|
|
156
162
|
}
|
|
157
163
|
export default {
|
|
@@ -161,8 +167,10 @@ export default {
|
|
|
161
167
|
tableColumn: Array,
|
|
162
168
|
tableGroupColumn: Array,
|
|
163
169
|
fixedColumn: Array,
|
|
164
|
-
|
|
165
|
-
|
|
170
|
+
fixedType: {
|
|
171
|
+
type: String,
|
|
172
|
+
default: null
|
|
173
|
+
}
|
|
166
174
|
},
|
|
167
175
|
data() {
|
|
168
176
|
return {
|
|
@@ -178,21 +186,30 @@ export default {
|
|
|
178
186
|
this.uploadColumn();
|
|
179
187
|
},
|
|
180
188
|
mounted() {
|
|
181
|
-
const
|
|
182
|
-
const
|
|
189
|
+
const _vm = this;
|
|
190
|
+
const props = _vm;
|
|
191
|
+
const $xeTable = _vm.$parent;
|
|
192
|
+
const internalData = $xeTable;
|
|
193
|
+
const { fixedType } = props;
|
|
194
|
+
const { elemStore } = internalData;
|
|
183
195
|
const prefix = `${fixedType || 'main'}-header-`;
|
|
184
|
-
elemStore[`${prefix}wrapper`] =
|
|
185
|
-
elemStore[`${prefix}
|
|
186
|
-
elemStore[`${prefix}
|
|
187
|
-
elemStore[`${prefix}
|
|
188
|
-
elemStore[`${prefix}
|
|
189
|
-
elemStore[`${prefix}
|
|
196
|
+
elemStore[`${prefix}wrapper`] = _vm.$refs.refElem;
|
|
197
|
+
elemStore[`${prefix}scroll`] = _vm.$refs.refHeaderScroll;
|
|
198
|
+
elemStore[`${prefix}table`] = _vm.$refs.refHeaderTable;
|
|
199
|
+
elemStore[`${prefix}colgroup`] = _vm.$refs.refHeaderColgroup;
|
|
200
|
+
elemStore[`${prefix}list`] = _vm.$refs.refHeaderTHead;
|
|
201
|
+
elemStore[`${prefix}xSpace`] = _vm.$refs.refHeaderXSpace;
|
|
202
|
+
elemStore[`${prefix}repair`] = _vm.$refs.refHeaderBorderRepair;
|
|
190
203
|
},
|
|
191
204
|
destroyed() {
|
|
192
|
-
const
|
|
193
|
-
const
|
|
205
|
+
const props = this;
|
|
206
|
+
const $xeTable = this.$parent;
|
|
207
|
+
const internalData = $xeTable;
|
|
208
|
+
const { fixedType } = props;
|
|
209
|
+
const { elemStore } = internalData;
|
|
194
210
|
const prefix = `${fixedType || 'main'}-header-`;
|
|
195
211
|
elemStore[`${prefix}wrapper`] = null;
|
|
212
|
+
elemStore[`${prefix}scroll`] = null;
|
|
196
213
|
elemStore[`${prefix}table`] = null;
|
|
197
214
|
elemStore[`${prefix}colgroup`] = null;
|
|
198
215
|
elemStore[`${prefix}list`] = null;
|
|
@@ -205,31 +222,33 @@ export default {
|
|
|
205
222
|
const tableProps = $xeTable;
|
|
206
223
|
const tableReactData = $xeTable;
|
|
207
224
|
const tableInternalData = $xeTable;
|
|
208
|
-
const {
|
|
225
|
+
const { xID } = $xeTable;
|
|
209
226
|
const { fixedType, fixedColumn, tableColumn } = props;
|
|
210
227
|
const { headerColumn } = this;
|
|
211
228
|
const { showHeaderOverflow: allColumnHeaderOverflow, spanMethod, footerSpanMethod } = tableProps;
|
|
212
|
-
const { isGroup, scrollXLoad, scrollYLoad,
|
|
229
|
+
const { isGroup, scrollXLoad, scrollYLoad, dragCol } = tableReactData;
|
|
213
230
|
const { visibleColumn, fullColumnIdData } = tableInternalData;
|
|
214
231
|
let renderHeaderList = headerColumn;
|
|
215
232
|
let renderColumnList = tableColumn;
|
|
233
|
+
let isOptimizeMode = false;
|
|
216
234
|
if (isGroup) {
|
|
217
235
|
renderColumnList = visibleColumn;
|
|
218
236
|
}
|
|
219
237
|
else {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
if (
|
|
238
|
+
// 如果是使用优化模式
|
|
239
|
+
if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
|
|
240
|
+
if (spanMethod || footerSpanMethod) {
|
|
223
241
|
// 如果不支持优化模式
|
|
224
|
-
if (spanMethod || footerSpanMethod) {
|
|
225
|
-
renderColumnList = visibleColumn;
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
renderColumnList = fixedColumn || [];
|
|
229
|
-
}
|
|
230
242
|
}
|
|
231
243
|
else {
|
|
232
|
-
|
|
244
|
+
isOptimizeMode = true;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (fixedType) {
|
|
248
|
+
renderColumnList = visibleColumn;
|
|
249
|
+
// 如果是使用优化模式
|
|
250
|
+
if (isOptimizeMode) {
|
|
251
|
+
renderColumnList = fixedColumn || [];
|
|
233
252
|
}
|
|
234
253
|
}
|
|
235
254
|
renderHeaderList = [renderColumnList];
|
|
@@ -248,7 +267,6 @@ export default {
|
|
|
248
267
|
if (firstColRest && lastColRest) {
|
|
249
268
|
const fcIndex = firstColRest._index;
|
|
250
269
|
const lcIndex = lastColRest._index;
|
|
251
|
-
console.log(dragCol.id, dcIndex, fcIndex, lcIndex, renderColumnList.length);
|
|
252
270
|
if (dcIndex < fcIndex) {
|
|
253
271
|
renderColumnList = [dragCol].concat(renderColumnList);
|
|
254
272
|
renderHeaderList = [[dragCol].concat(renderHeaderList[0])].concat(renderHeaderList.slice(1));
|
|
@@ -257,69 +275,71 @@ export default {
|
|
|
257
275
|
renderColumnList = renderColumnList.concat([dragCol]);
|
|
258
276
|
renderHeaderList = [renderHeaderList[0].concat([dragCol])].concat(renderHeaderList.slice(1));
|
|
259
277
|
}
|
|
260
|
-
console.log(renderColumnList.length);
|
|
261
278
|
}
|
|
262
279
|
}
|
|
263
280
|
}
|
|
264
281
|
}
|
|
265
282
|
}
|
|
266
283
|
return h('div', {
|
|
284
|
+
ref: 'refElem',
|
|
267
285
|
class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
268
286
|
attrs: {
|
|
269
|
-
xid:
|
|
287
|
+
xid: xID
|
|
270
288
|
}
|
|
271
289
|
}, [
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
:
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
attrs: {
|
|
281
|
-
xid: tId,
|
|
282
|
-
cellspacing: 0,
|
|
283
|
-
cellpadding: 0,
|
|
284
|
-
border: 0
|
|
285
|
-
},
|
|
286
|
-
ref: 'table'
|
|
290
|
+
h('div', {
|
|
291
|
+
ref: 'refHeaderScroll',
|
|
292
|
+
class: 'vxe-table--header-inner-wrapper',
|
|
293
|
+
on: {
|
|
294
|
+
scroll(evnt) {
|
|
295
|
+
$xeTable.triggerHeaderScrollEvent(evnt, fixedType);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
287
298
|
}, [
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
299
|
+
fixedType
|
|
300
|
+
? renderEmptyElement($xeTable)
|
|
301
|
+
: h('div', {
|
|
302
|
+
ref: 'refHeaderXSpace',
|
|
303
|
+
class: 'vxe-body--x-space'
|
|
304
|
+
}),
|
|
305
|
+
h('table', {
|
|
306
|
+
ref: 'refHeaderTable',
|
|
307
|
+
class: 'vxe-table--header',
|
|
308
|
+
attrs: {
|
|
309
|
+
xid: xID,
|
|
310
|
+
cellspacing: 0,
|
|
311
|
+
cellpadding: 0,
|
|
312
|
+
border: 0
|
|
313
|
+
}
|
|
314
|
+
}, [
|
|
315
|
+
/**
|
|
316
|
+
* 列宽
|
|
317
|
+
*/
|
|
318
|
+
h('colgroup', {
|
|
319
|
+
ref: 'refHeaderColgroup'
|
|
320
|
+
}, renderColumnList.map((column, $columnIndex) => {
|
|
321
|
+
return h('col', {
|
|
303
322
|
attrs: {
|
|
304
|
-
name:
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
323
|
+
name: column.id
|
|
324
|
+
},
|
|
325
|
+
key: $columnIndex
|
|
326
|
+
});
|
|
327
|
+
})),
|
|
328
|
+
/**
|
|
329
|
+
* 头部
|
|
330
|
+
*/
|
|
331
|
+
h('thead', {
|
|
332
|
+
ref: 'refHeaderTHead'
|
|
333
|
+
}, renderHeads(h, this, isGroup, isOptimizeMode, renderHeaderList))
|
|
334
|
+
]),
|
|
309
335
|
/**
|
|
310
|
-
*
|
|
336
|
+
* 其他
|
|
311
337
|
*/
|
|
312
|
-
h('
|
|
313
|
-
ref: '
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
* 其他
|
|
318
|
-
*/
|
|
319
|
-
h('div', {
|
|
320
|
-
class: 'vxe-table--header-border-line',
|
|
321
|
-
ref: 'repair'
|
|
322
|
-
})
|
|
338
|
+
h('div', {
|
|
339
|
+
ref: 'refHeaderBorderRepair',
|
|
340
|
+
class: 'vxe-table--header-border-line'
|
|
341
|
+
})
|
|
342
|
+
])
|
|
323
343
|
]);
|
|
324
344
|
},
|
|
325
345
|
methods: {
|
|
@@ -333,9 +353,9 @@ export default {
|
|
|
333
353
|
const { column } = params;
|
|
334
354
|
const { $parent: $xetable, fixedType } = this;
|
|
335
355
|
const { visibleColumn } = tableInternalData;
|
|
336
|
-
const {
|
|
356
|
+
const { refTableBody, refLeftContainer, refRightContainer } = $xetable.$refs;
|
|
337
357
|
const tableEl = $xeTable.$el;
|
|
338
|
-
const resizeBarElem = $xetable.$refs.
|
|
358
|
+
const resizeBarElem = $xetable.$refs.refCellResizeBar;
|
|
339
359
|
const resizeTipElem = $xetable.$refs.refCellResizeTip;
|
|
340
360
|
const wrapperElem = this.$el;
|
|
341
361
|
const { clientX: dragClientX } = evnt;
|
|
@@ -344,7 +364,7 @@ export default {
|
|
|
344
364
|
const cellParams = Object.assign(params, { cell });
|
|
345
365
|
const resizableOpts = $xeTable.computeResizableOpts;
|
|
346
366
|
let dragLeft = 0;
|
|
347
|
-
const tableBodyElem =
|
|
367
|
+
const tableBodyElem = refTableBody.$el;
|
|
348
368
|
const pos = getOffsetPos(dragBtnElem, tableEl);
|
|
349
369
|
const dragBtnWidth = dragBtnElem.clientWidth;
|
|
350
370
|
const dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2);
|
|
@@ -369,8 +389,8 @@ export default {
|
|
|
369
389
|
}
|
|
370
390
|
tempCellElem = tempCellElem[siblingProp];
|
|
371
391
|
}
|
|
372
|
-
if (isRightFixed &&
|
|
373
|
-
dragPosLeft =
|
|
392
|
+
if (isRightFixed && refRightContainer) {
|
|
393
|
+
dragPosLeft = refRightContainer.offsetLeft + fixedOffsetWidth;
|
|
374
394
|
}
|
|
375
395
|
}
|
|
376
396
|
// 处理拖动事件
|
|
@@ -382,11 +402,11 @@ export default {
|
|
|
382
402
|
const scrollLeft = fixedType ? 0 : tableBodyElem.scrollLeft;
|
|
383
403
|
if (isLeftFixed) {
|
|
384
404
|
// 左固定列(不允许超过右侧固定列、不允许超过右边距)
|
|
385
|
-
left = Math.min(left, (
|
|
405
|
+
left = Math.min(left, (refRightContainer ? refRightContainer.offsetLeft : tableBodyElem.clientWidth) - fixedOffsetWidth - minInterval);
|
|
386
406
|
}
|
|
387
407
|
else if (isRightFixed) {
|
|
388
408
|
// 右侧固定列(不允许超过左侧固定列、不允许超过左边距)
|
|
389
|
-
dragMinLeft = (
|
|
409
|
+
dragMinLeft = (refLeftContainer ? refLeftContainer.clientWidth : 0) + fixedOffsetWidth + minInterval;
|
|
390
410
|
left = Math.min(left, dragPosLeft + cell.clientWidth - minInterval);
|
|
391
411
|
}
|
|
392
412
|
else {
|