shineout 3.10.3-beta.2 → 3.10.3-beta.4
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/cjs/index.js +1 -1
- package/dist/shineout.js +107 -27
- package/dist/shineout.js.map +1 -1
- package/dist/shineout.min.js +1 -1
- package/dist/shineout.min.js.map +1 -1
- package/esm/index.js +1 -1
- package/package.json +5 -5
package/cjs/index.js
CHANGED
|
@@ -545,5 +545,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
545
545
|
// 此文件由脚本自动生成,请勿直接修改。
|
|
546
546
|
// This file was generated automatically by a script. Please do not modify it directly.
|
|
547
547
|
var _default = exports.default = {
|
|
548
|
-
version: '3.10.3-beta.
|
|
548
|
+
version: '3.10.3-beta.4'
|
|
549
549
|
};
|
package/dist/shineout.js
CHANGED
|
@@ -13736,7 +13736,7 @@ var handleStyle = function handleStyle(style) {
|
|
|
13736
13736
|
};
|
|
13737
13737
|
/* harmony default export */ var jss_style_handleStyle = (handleStyle);
|
|
13738
13738
|
;// CONCATENATED MODULE: ../shineout-style/src/version.ts
|
|
13739
|
-
/* harmony default export */ var version = ('3.10.3-beta.
|
|
13739
|
+
/* harmony default export */ var version = ('3.10.3-beta.4');
|
|
13740
13740
|
;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
|
|
13741
13741
|
|
|
13742
13742
|
|
|
@@ -28694,7 +28694,8 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
|
|
|
28694
28694
|
boxShadow: 'inset 8px 0 10px -6px rgba(2,11,24,.1)'
|
|
28695
28695
|
// border: 'none',
|
|
28696
28696
|
},
|
|
28697
|
-
|
|
28697
|
+
// tbody td 在 ltr 下不输出 dir 属性,用 :not([dir=rtl]) 匹配 ltr
|
|
28698
|
+
'&:not([dir=rtl])::after': {
|
|
28698
28699
|
right: "-".concat(shadowWidth, "px")
|
|
28699
28700
|
},
|
|
28700
28701
|
'&[dir=rtl]::after': {
|
|
@@ -28731,7 +28732,7 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
|
|
|
28731
28732
|
right: "-".concat(shadowWidth, "px"),
|
|
28732
28733
|
boxShadow: 'inset 8px 0 10px -6px rgba(2,11,24,.1)'
|
|
28733
28734
|
},
|
|
28734
|
-
'
|
|
28735
|
+
'&:not([dir=rtl])::before': {
|
|
28735
28736
|
left: "-".concat(shadowWidth, "px")
|
|
28736
28737
|
}
|
|
28737
28738
|
},
|
|
@@ -29012,7 +29013,7 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
|
|
|
29012
29013
|
textAlign: 'left'
|
|
29013
29014
|
},
|
|
29014
29015
|
'$bordered&': {
|
|
29015
|
-
'& th:last-child[dir=
|
|
29016
|
+
'& th:last-child:not([dir=rtl]), & td:last-child:not([dir=rtl])': {
|
|
29016
29017
|
borderRight: 'none'
|
|
29017
29018
|
},
|
|
29018
29019
|
'& th:last-child[dir=rtl], & td:last-child[dir=rtl]': {
|
|
@@ -67345,6 +67346,13 @@ function useScrollbarWidth() {
|
|
|
67345
67346
|
|
|
67346
67347
|
|
|
67347
67348
|
|
|
67349
|
+
|
|
67350
|
+
// 逐列浅比较:业务常见写法 columns.map(c => ({ ...c })) 每次都会产生新对象,但内容(含 render 引用)不变
|
|
67351
|
+
var isColumnsShallowEqual = function isColumnsShallowEqual(a, b) {
|
|
67352
|
+
return a.length === b.length && a.every(function (c, i) {
|
|
67353
|
+
return shallow_equal(c, b[i]);
|
|
67354
|
+
});
|
|
67355
|
+
};
|
|
67348
67356
|
var getHideExpandCol = function getHideExpandCol() {
|
|
67349
67357
|
var cols = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
67350
67358
|
var expandCol = cols.find(function (col) {
|
|
@@ -67380,6 +67388,8 @@ var useColumns = function useColumns(props) {
|
|
|
67380
67388
|
var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
|
|
67381
67389
|
cachedColumns: null,
|
|
67382
67390
|
oldColumns: null,
|
|
67391
|
+
oldShowCheckbox: undefined,
|
|
67392
|
+
columnsSnapshot: null,
|
|
67383
67393
|
groupLevel: 0,
|
|
67384
67394
|
expandHideCol: null
|
|
67385
67395
|
}),
|
|
@@ -67391,6 +67401,11 @@ var useColumns = function useColumns(props) {
|
|
|
67391
67401
|
if (columnsA === context.oldColumns) {
|
|
67392
67402
|
return context.cachedColumns;
|
|
67393
67403
|
}
|
|
67404
|
+
if (props.reuseEqualColumns && context.columnsSnapshot && context.cachedColumns && context.oldShowCheckbox === props.showCheckbox && isColumnsShallowEqual(columnsA, context.columnsSnapshot)) {
|
|
67405
|
+
context.oldColumns = columnsA;
|
|
67406
|
+
return context.cachedColumns;
|
|
67407
|
+
}
|
|
67408
|
+
context.oldShowCheckbox = props.showCheckbox;
|
|
67394
67409
|
context.expandHideCol = getHideExpandCol(columnsA);
|
|
67395
67410
|
var columns = columnsA.filter(function (c) {
|
|
67396
67411
|
return typeof_default()(c) === 'object';
|
|
@@ -67426,6 +67441,10 @@ var useColumns = function useColumns(props) {
|
|
|
67426
67441
|
});
|
|
67427
67442
|
});
|
|
67428
67443
|
context.oldColumns = columnsA;
|
|
67444
|
+
// 与快照比较而非与旧数组比较:列对象被原地修改时旧数组里也是同一个对象,比较不出差异
|
|
67445
|
+
context.columnsSnapshot = props.reuseEqualColumns ? columnsA.map(function (c) {
|
|
67446
|
+
return c && typeof_default()(c) === 'object' ? objectSpread2_default()({}, c) : c;
|
|
67447
|
+
}) : null;
|
|
67429
67448
|
return context.cachedColumns;
|
|
67430
67449
|
});
|
|
67431
67450
|
var columns = getColumns(propsColumns) || [];
|
|
@@ -69527,6 +69546,11 @@ var thead_toNum = toNum;
|
|
|
69527
69546
|
}),
|
|
69528
69547
|
context = _useRef.current;
|
|
69529
69548
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
69549
|
+
// 行高仅用于多级表头固定列的 sticky top,单行表头 top 恒为 0,跳过测量以避免强制同步布局
|
|
69550
|
+
if (columnLevel === 0) {
|
|
69551
|
+
context.trHeights = [];
|
|
69552
|
+
return;
|
|
69553
|
+
}
|
|
69530
69554
|
var heights = trRefs.current.map(function (tr) {
|
|
69531
69555
|
return (tr === null || tr === void 0 ? void 0 : tr.offsetHeight) || 0;
|
|
69532
69556
|
});
|
|
@@ -70015,8 +70039,10 @@ function Td(props) {
|
|
|
70015
70039
|
onMouseEnter: onMouseEnter,
|
|
70016
70040
|
onMouseLeave: onMouseLeave,
|
|
70017
70041
|
className: className,
|
|
70018
|
-
style: props.style
|
|
70019
|
-
|
|
70042
|
+
style: props.style
|
|
70043
|
+
// ltr 为默认方向,可从 table 继承,省略以减少大数据量下逐个单元格的 setAttribute
|
|
70044
|
+
,
|
|
70045
|
+
dir: direction === 'rtl' ? direction : undefined,
|
|
70020
70046
|
"data-role": role,
|
|
70021
70047
|
onClick: onClick,
|
|
70022
70048
|
children: renderContent(props.col, props.data)
|
|
@@ -70044,10 +70070,10 @@ function Td(props) {
|
|
|
70044
70070
|
|
|
70045
70071
|
var tr_toNum = toNum;
|
|
70046
70072
|
var Tr = function Tr(props) {
|
|
70047
|
-
var _props$
|
|
70073
|
+
var _props$rowClassName;
|
|
70048
70074
|
var treeFunc = props.treeFunc,
|
|
70049
|
-
|
|
70050
|
-
|
|
70075
|
+
tableClasses = props.tableClasses,
|
|
70076
|
+
preventClasses = props.preventClasses;
|
|
70051
70077
|
var trRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
|
|
70052
70078
|
var expandRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
|
|
70053
70079
|
var config = useConfig();
|
|
@@ -70094,9 +70120,14 @@ var Tr = function Tr(props) {
|
|
|
70094
70120
|
}
|
|
70095
70121
|
});
|
|
70096
70122
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(setVirtualRowHeight, [props.expanded, props.rowIndex, props.bodyScrollWidth, props.resizeFlag]);
|
|
70123
|
+
|
|
70124
|
+
// 行高只在虚拟列表下需要上报(setRowHeight 仅由虚拟列表传入),
|
|
70125
|
+
// 非虚拟场景(sticky-only / 普通表格)不再为每一行创建 ResizeObserver,
|
|
70126
|
+
// 避免数据切换时批量 observe/disconnect 以及 RO 首次回调带来的布局读取(计入 INP presentation delay)
|
|
70127
|
+
var shouldObserveRowHeight = !!props.setRowHeight && !props.strictRowHeight;
|
|
70097
70128
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
70098
70129
|
// 祖先元素不可见时(display: none)
|
|
70099
|
-
if (
|
|
70130
|
+
if (!shouldObserveRowHeight || !trRef.current || !trRef.current.offsetParent) return;
|
|
70100
70131
|
var cancelObserver = addResizeObserver(trRef.current, setVirtualRowHeight, {
|
|
70101
70132
|
direction: 'y',
|
|
70102
70133
|
lazy: true
|
|
@@ -70104,7 +70135,7 @@ var Tr = function Tr(props) {
|
|
|
70104
70135
|
return function () {
|
|
70105
70136
|
cancelObserver();
|
|
70106
70137
|
};
|
|
70107
|
-
}, []);
|
|
70138
|
+
}, [shouldObserveRowHeight]);
|
|
70108
70139
|
var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(false),
|
|
70109
70140
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
70110
70141
|
isExpandLoading = _useState2[0],
|
|
@@ -70352,7 +70383,6 @@ var Tr = function Tr(props) {
|
|
|
70352
70383
|
}
|
|
70353
70384
|
}
|
|
70354
70385
|
};
|
|
70355
|
-
var preventClasses = [jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$treeSelect = jssStyle.treeSelect) === null || _jssStyle$treeSelect === void 0 ? void 0 : _jssStyle$treeSelect.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$switch = jssStyle.switch) === null || _jssStyle$switch === void 0 ? void 0 : _jssStyle$switch.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$checkbox = jssStyle.checkbox) === null || _jssStyle$checkbox === void 0 ? void 0 : _jssStyle$checkbox.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle).wrapper];
|
|
70356
70386
|
var isNotExpandableElement = function isNotExpandableElement(el) {
|
|
70357
70387
|
var tagName = el.tagName;
|
|
70358
70388
|
if (tagName === 'TD' || tagName === 'TR') return false;
|
|
@@ -70445,13 +70475,48 @@ var Tr = function Tr(props) {
|
|
|
70445
70475
|
})), renderExpand()]
|
|
70446
70476
|
});
|
|
70447
70477
|
};
|
|
70448
|
-
|
|
70478
|
+
|
|
70479
|
+
// 行级 memo(rowMemo)比较时跳过的 props:
|
|
70480
|
+
// - datum / treeFunc / handleCellHover / handleExpandClick:内部方法均为 usePersistFn,引用变化不影响渲染结果
|
|
70481
|
+
// (选中、禁用、展开状态已经以 isSelect / disabled / expanded / treeExpandLevel 的形式单独下发)
|
|
70482
|
+
// - row / hoverIndex / 语义化样式:引用每次都可能变化,下面按内容单独比较
|
|
70483
|
+
// - treeExpandLevel:随 data 每次重建,非树形表格不会读取;树形表格下单独按引用比较
|
|
70484
|
+
var MEMO_SKIP_KEYS = ['datum', 'treeFunc', 'handleCellHover', 'handleExpandClick', 'row', 'hoverIndex', 'bodyRowSemStyle', 'bodyCellSemStyle', 'treeExpandLevel'];
|
|
70485
|
+
|
|
70486
|
+
// rowData 在 data 变化时会整体重算(如懒加载追加数据),按单元格内容比较,避免未变化的行被连带重渲染
|
|
70487
|
+
var isSameRowCells = function isSameRowCells(prev, next) {
|
|
70488
|
+
if (prev === next) return true;
|
|
70489
|
+
if (prev.length !== next.length) return false;
|
|
70490
|
+
return prev.every(function (cell, i) {
|
|
70491
|
+
var nextCell = next[i];
|
|
70492
|
+
if (!cell || !nextCell) return cell === nextCell;
|
|
70493
|
+
return cell.data === nextCell.data && cell.colSpan === nextCell.colSpan && cell.rowSpan === nextCell.rowSpan;
|
|
70494
|
+
});
|
|
70495
|
+
};
|
|
70496
|
+
var isSameHover = function isSameHover(prev, next) {
|
|
70497
|
+
if (prev.hoverIndex === next.hoverIndex || !next.hover) return true;
|
|
70498
|
+
// 存在跨行单元格时 hover 态取决于后续行,保守处理为需要更新
|
|
70499
|
+
if (next.row.some(function (cell) {
|
|
70500
|
+
return cell && cell.rowSpan > 1;
|
|
70501
|
+
})) return false;
|
|
70502
|
+
return prev.hoverIndex.has(prev.rowIndex) === next.hoverIndex.has(next.rowIndex);
|
|
70503
|
+
};
|
|
70504
|
+
|
|
70505
|
+
// 未开启 rowMemo 时始终返回 false,行为与不做 memo 完全一致
|
|
70506
|
+
var isTrPropsEqual = function isTrPropsEqual(prev, next) {
|
|
70507
|
+
if (!prev.rowMemo || !next.rowMemo) return false;
|
|
70508
|
+
return shallow_equal_shallowEqual(prev, next, {
|
|
70509
|
+
skip: MEMO_SKIP_KEYS
|
|
70510
|
+
}) && (!next.treeColumnsName || prev.treeExpandLevel === next.treeExpandLevel) && isSameRowCells(prev.row, next.row) && isSameHover(prev, next) && shallow_equal_shallowEqual(prev.bodyRowSemStyle, next.bodyRowSemStyle) && shallow_equal_shallowEqual(prev.bodyCellSemStyle, next.bodyCellSemStyle);
|
|
70511
|
+
};
|
|
70512
|
+
/* harmony default export */ var tr = (/*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().memo(Tr, isTrPropsEqual));
|
|
70449
70513
|
;// CONCATENATED MODULE: ../base/src/table/tbody.tsx
|
|
70450
70514
|
|
|
70451
70515
|
|
|
70452
70516
|
|
|
70453
70517
|
|
|
70454
70518
|
/* harmony default export */ var tbody = (function (props) {
|
|
70519
|
+
var _jssStyle$table, _jssStyle$input, _jssStyle$select, _jssStyle$datePicker, _jssStyle$treeSelect, _jssStyle$switch, _jssStyle$checkbox, _jssStyle$radio, _jssStyle$cascader;
|
|
70455
70520
|
var _props$columns = props.columns,
|
|
70456
70521
|
columns = _props$columns === void 0 ? [] : _props$columns,
|
|
70457
70522
|
_props$currentRowInde = props.currentRowIndex,
|
|
@@ -70481,6 +70546,23 @@ var Tr = function Tr(props) {
|
|
|
70481
70546
|
var expandCol = props.expandHideCol || columns.find(function (col) {
|
|
70482
70547
|
return col.type === 'expand' || col.type === 'row-expand';
|
|
70483
70548
|
});
|
|
70549
|
+
|
|
70550
|
+
// 样式 hook 在 Tbody 统一调用一次再下发给 Tr,
|
|
70551
|
+
// 避免每一行都执行 9 次 react-jss useStyles(每次都带 useLayoutEffect/useEffect),行数多时开销明显
|
|
70552
|
+
var jssStyle = props.jssStyle;
|
|
70553
|
+
var tableClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$table = jssStyle.table) === null || _jssStyle$table === void 0 ? void 0 : _jssStyle$table.call(jssStyle);
|
|
70554
|
+
var inputWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle).wrapper;
|
|
70555
|
+
var selectWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle).wrapper;
|
|
70556
|
+
var datePickerWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle).wrapper;
|
|
70557
|
+
var treeSelectWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$treeSelect = jssStyle.treeSelect) === null || _jssStyle$treeSelect === void 0 ? void 0 : _jssStyle$treeSelect.call(jssStyle).wrapper;
|
|
70558
|
+
var switchWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$switch = jssStyle.switch) === null || _jssStyle$switch === void 0 ? void 0 : _jssStyle$switch.call(jssStyle).wrapper;
|
|
70559
|
+
var checkboxWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$checkbox = jssStyle.checkbox) === null || _jssStyle$checkbox === void 0 ? void 0 : _jssStyle$checkbox.call(jssStyle).wrapper;
|
|
70560
|
+
var radioWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle).wrapper;
|
|
70561
|
+
var cascaderWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle).wrapper;
|
|
70562
|
+
// 行点击时用于判断点击目标是否为表单控件(不触发 onRowClick / 行展开)
|
|
70563
|
+
var preventClasses = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
|
|
70564
|
+
return [inputWrapper, selectWrapper, datePickerWrapper, treeSelectWrapper, switchWrapper, checkboxWrapper, radioWrapper, cascaderWrapper];
|
|
70565
|
+
}, [inputWrapper, selectWrapper, datePickerWrapper, treeSelectWrapper, switchWrapper, checkboxWrapper, radioWrapper, cascaderWrapper]);
|
|
70484
70566
|
var renderRow = function renderRow(item, index) {
|
|
70485
70567
|
var _props$rowEvents;
|
|
70486
70568
|
var rowIndex = index + currentRowIndex;
|
|
@@ -70492,6 +70574,8 @@ var Tr = function Tr(props) {
|
|
|
70492
70574
|
columns: columns,
|
|
70493
70575
|
isScrollX: props.isScrollX,
|
|
70494
70576
|
jssStyle: props.jssStyle,
|
|
70577
|
+
tableClasses: tableClasses,
|
|
70578
|
+
preventClasses: preventClasses,
|
|
70495
70579
|
colgroup: props.colgroup,
|
|
70496
70580
|
rowClassName: props.rowClassName,
|
|
70497
70581
|
rawData: item,
|
|
@@ -70529,6 +70613,7 @@ var Tr = function Tr(props) {
|
|
|
70529
70613
|
virtual: props.virtual,
|
|
70530
70614
|
scrolling: props.scrolling,
|
|
70531
70615
|
strictRowHeight: props.strictRowHeight,
|
|
70616
|
+
rowMemo: props.rowMemo,
|
|
70532
70617
|
bodyRowSemClass: props.bodyRowSemClass,
|
|
70533
70618
|
bodyRowSemStyle: props.bodyRowSemStyle,
|
|
70534
70619
|
bodyCellSemClass: props.bodyCellSemClass,
|
|
@@ -70694,9 +70779,6 @@ var table_excluded = ["data"];
|
|
|
70694
70779
|
|
|
70695
70780
|
var table_devUseWarning = devUseWarning;
|
|
70696
70781
|
var table_emptyArr = [];
|
|
70697
|
-
var emptyRef = {
|
|
70698
|
-
current: null
|
|
70699
|
-
};
|
|
70700
70782
|
function Table(props) {
|
|
70701
70783
|
var _props$jssStyle, _props$jssStyle$table, _columns$find;
|
|
70702
70784
|
var _props$verticalAlign = props.verticalAlign,
|
|
@@ -70773,13 +70855,6 @@ function Table(props) {
|
|
|
70773
70855
|
setScrollAble(isScrollAble);
|
|
70774
70856
|
}, [virtual]);
|
|
70775
70857
|
|
|
70776
|
-
// TODO: 没用的tbodyHeight,有空移除了
|
|
70777
|
-
// 虚拟列表高度另外计算
|
|
70778
|
-
var _useResize = useResize({
|
|
70779
|
-
targetRef: virtual ? emptyRef : tbodyRef
|
|
70780
|
-
}),
|
|
70781
|
-
tbodyHeight = _useResize.height;
|
|
70782
|
-
|
|
70783
70858
|
// default height
|
|
70784
70859
|
var defaultHeight = virtual && !props.height && !props.virtualScrollContainer ? '100%' : props.height;
|
|
70785
70860
|
var selection = use_table_select({
|
|
@@ -70797,7 +70872,8 @@ function Table(props) {
|
|
|
70797
70872
|
data: props.data,
|
|
70798
70873
|
virtualColumn: props.virtualColumn,
|
|
70799
70874
|
scrollRef: scrollRef,
|
|
70800
|
-
showCheckbox: typeof props.onRowSelect === 'function'
|
|
70875
|
+
showCheckbox: typeof props.onRowSelect === 'function',
|
|
70876
|
+
reuseEqualColumns: !!props.rowMemo
|
|
70801
70877
|
}),
|
|
70802
70878
|
columns = _useTableColumns.columns,
|
|
70803
70879
|
expandHideCol = _useTableColumns.expandHideCol,
|
|
@@ -71095,6 +71171,7 @@ function Table(props) {
|
|
|
71095
71171
|
treeCheckAll: props.treeCheckAll,
|
|
71096
71172
|
onCellClick: props.onCellClick,
|
|
71097
71173
|
strictRowHeight: props.strictRowHeight,
|
|
71174
|
+
rowMemo: props.rowMemo,
|
|
71098
71175
|
scrollRef: scrollRef,
|
|
71099
71176
|
bodyRowSemClass: semClass('bodyRow'),
|
|
71100
71177
|
bodyRowSemStyle: semStyle('bodyRow'),
|
|
@@ -71329,8 +71406,11 @@ function Table(props) {
|
|
|
71329
71406
|
flex: 1
|
|
71330
71407
|
},
|
|
71331
71408
|
wrapperRef: scrollRef,
|
|
71332
|
-
scrollWidth: width || 1
|
|
71333
|
-
|
|
71409
|
+
scrollWidth: width || 1
|
|
71410
|
+
// 非虚拟时只有空数据会走到 Scroll,此时 isEmpty 会把 paddingTop 置 0,scrollHeight 不生效;
|
|
71411
|
+
// 原先这里对 tbody 做 useResize 监听,tbody 尺寸变化后会额外触发整表重渲染,已移除
|
|
71412
|
+
,
|
|
71413
|
+
scrollHeight: virtual ? virtualInfo.scrollHeight : 0,
|
|
71334
71414
|
onScroll: handleVirtualScroll,
|
|
71335
71415
|
defaultHeight: context.emptyHeight,
|
|
71336
71416
|
isScrollY: isScrollY,
|
|
@@ -80212,7 +80292,7 @@ var watermark_interface = __webpack_require__(6640);
|
|
|
80212
80292
|
|
|
80213
80293
|
|
|
80214
80294
|
/* harmony default export */ var src_0 = ({
|
|
80215
|
-
version: '3.10.3-beta.
|
|
80295
|
+
version: '3.10.3-beta.4'
|
|
80216
80296
|
});
|
|
80217
80297
|
}();
|
|
80218
80298
|
/******/ return __webpack_exports__;
|