@sheinx/base 3.9.0-beta.24 → 3.9.0-beta.26

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.
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CAsuBxE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CAuuBxE"}
@@ -436,7 +436,8 @@ function Table(props) {
436
436
  renderSorter: props.renderSorter,
437
437
  radio: props.radio,
438
438
  treeColumnsName: treeColumnsName,
439
- treeCheckAll: props.treeCheckAll
439
+ treeCheckAll: props.treeCheckAll,
440
+ virtualColumn: props.virtualColumn
440
441
  };
441
442
  var showFoot = (_props$summary = props.summary) === null || _props$summary === void 0 ? void 0 : _props$summary.length;
442
443
  var footCommonProps = {
@@ -266,7 +266,7 @@ var _default = exports.default = function _default(props) {
266
266
  trs[level].push( /*#__PURE__*/(0, _jsxRuntime.jsx)("th", {
267
267
  className: (0, _classnames.default)(cellClassName, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellGroup, colTemp2 === null || colTemp2 === void 0 || (_colTemp2$groupProps2 = colTemp2.groupProps) === null || _colTemp2$groupProps2 === void 0 ? void 0 : _colTemp2$groupProps2.className),
268
268
  style: style,
269
- colSpan: colTemp2.colSpan,
269
+ colSpan: props.virtualColumn && typeof colTemp2.colSpan === 'function' ? undefined : colTemp2.colSpan,
270
270
  dir: config.direction,
271
271
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
272
272
  children: colTemp2.name
@@ -2,7 +2,7 @@ import { TableProps, ListDatum } from './table.type';
2
2
  import { useTableSort, useTableFilter, useTableLayout } from '@sheinx/hooks';
3
3
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
4
4
  export type UseTableLayoutResultFunc = ReturnType<typeof useTableLayout>['func'];
5
- export interface TheadProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'onColumnResize' | 'columnResizable' | 'showSelectAll' | 'renderSorter' | 'radio' | 'disabled' | 'treeCheckAll' | 'sortDirections' | 'cellSortable'>, Pick<ReturnType<typeof useTableSort<any>>, 'sortInfo' | 'onSorterChange'>, Pick<ReturnType<typeof useTableFilter<any>>, 'filterInfo' | 'onFilterChange'>, Pick<UseTableLayoutResultFunc, 'dragCol' | 'resizeCol'> {
5
+ export interface TheadProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'onColumnResize' | 'columnResizable' | 'showSelectAll' | 'renderSorter' | 'radio' | 'disabled' | 'treeCheckAll' | 'sortDirections' | 'cellSortable' | 'virtualColumn'>, Pick<ReturnType<typeof useTableSort<any>>, 'sortInfo' | 'onSorterChange'>, Pick<ReturnType<typeof useTableFilter<any>>, 'filterInfo' | 'onFilterChange'>, Pick<UseTableLayoutResultFunc, 'dragCol' | 'resizeCol'> {
6
6
  columns: TableFormatColumn<any>[];
7
7
  isScrollY?: boolean;
8
8
  bordered?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"thead.type.d.ts","sourceRoot":"","sources":["thead.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,UACf,SAAQ,IAAI,CACR,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,OAAO,GACP,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,cAAc,CACjB,EACD,IAAI,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC,EACzE,IAAI,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC,EAC7E,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
1
+ {"version":3,"file":"thead.type.d.ts","sourceRoot":"","sources":["thead.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,UACf,SAAQ,IAAI,CACR,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,OAAO,GACP,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,eAAe,CAClB,EACD,IAAI,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC,EACzE,IAAI,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC,EAC7E,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA0JjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA+KjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -137,6 +137,25 @@ var Scroll = function Scroll(props) {
137
137
  }
138
138
  });
139
139
 
140
+ // 组件元素隐藏时,设置定高,解决恢复显示时滚动条位置未保持住的问题
141
+ (0, _react.useEffect)(function () {
142
+ if (!props.tableRef.current) return;
143
+ var isVisible = props.tableRef.current.offsetParent !== null;
144
+ var wasHidden = props.tableRef.current.getAttribute('data-was-hidden') === 'true';
145
+ var h = context.lastTableHeight || props.tableRef.current.clientHeight;
146
+ if (h > 0) {
147
+ context.lastTableHeight = h;
148
+ }
149
+ if (isVisible && wasHidden) {
150
+ props.tableRef.current.style.height = '100%';
151
+ props.tableRef.current.removeAttribute('data-was-hidden');
152
+ } else if (!isVisible && props.tableRef.current.style.height === '100%') {
153
+ // 加height === '100%'判断是因为:多层父级flex嵌套才有这个问题
154
+ props.tableRef.current.style.height = "".concat(context.lastTableHeight, "px");
155
+ props.tableRef.current.setAttribute('data-was-hidden', 'true');
156
+ }
157
+ }, [paddingTop]);
158
+
140
159
  // 非定高的Table但依旧采用了virtual渲染方式,需要渲染出全部的data
141
160
  (0, _react.useLayoutEffect)(function () {
142
161
  if (!props.tableRef.current || !props.setFakeVirtual) return;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CAsuBxE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAexD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,2CAuuBxE"}
@@ -429,7 +429,8 @@ export default function Table(props) {
429
429
  renderSorter: props.renderSorter,
430
430
  radio: props.radio,
431
431
  treeColumnsName: treeColumnsName,
432
- treeCheckAll: props.treeCheckAll
432
+ treeCheckAll: props.treeCheckAll,
433
+ virtualColumn: props.virtualColumn
433
434
  };
434
435
  var showFoot = (_props$summary = props.summary) === null || _props$summary === void 0 ? void 0 : _props$summary.length;
435
436
  var footCommonProps = {
@@ -259,7 +259,7 @@ export default (function (props) {
259
259
  trs[level].push( /*#__PURE__*/_jsx("th", {
260
260
  className: classNames(cellClassName, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellGroup, colTemp2 === null || colTemp2 === void 0 || (_colTemp2$groupProps2 = colTemp2.groupProps) === null || _colTemp2$groupProps2 === void 0 ? void 0 : _colTemp2$groupProps2.className),
261
261
  style: style,
262
- colSpan: colTemp2.colSpan,
262
+ colSpan: props.virtualColumn && typeof colTemp2.colSpan === 'function' ? undefined : colTemp2.colSpan,
263
263
  dir: config.direction,
264
264
  children: /*#__PURE__*/_jsx("div", {
265
265
  children: colTemp2.name
@@ -2,7 +2,7 @@ import { TableProps, ListDatum } from './table.type';
2
2
  import { useTableSort, useTableFilter, useTableLayout } from '@sheinx/hooks';
3
3
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
4
4
  export type UseTableLayoutResultFunc = ReturnType<typeof useTableLayout>['func'];
5
- export interface TheadProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'onColumnResize' | 'columnResizable' | 'showSelectAll' | 'renderSorter' | 'radio' | 'disabled' | 'treeCheckAll' | 'sortDirections' | 'cellSortable'>, Pick<ReturnType<typeof useTableSort<any>>, 'sortInfo' | 'onSorterChange'>, Pick<ReturnType<typeof useTableFilter<any>>, 'filterInfo' | 'onFilterChange'>, Pick<UseTableLayoutResultFunc, 'dragCol' | 'resizeCol'> {
5
+ export interface TheadProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'onColumnResize' | 'columnResizable' | 'showSelectAll' | 'renderSorter' | 'radio' | 'disabled' | 'treeCheckAll' | 'sortDirections' | 'cellSortable' | 'virtualColumn'>, Pick<ReturnType<typeof useTableSort<any>>, 'sortInfo' | 'onSorterChange'>, Pick<ReturnType<typeof useTableFilter<any>>, 'filterInfo' | 'onFilterChange'>, Pick<UseTableLayoutResultFunc, 'dragCol' | 'resizeCol'> {
6
6
  columns: TableFormatColumn<any>[];
7
7
  isScrollY?: boolean;
8
8
  bordered?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"thead.type.d.ts","sourceRoot":"","sources":["thead.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,UACf,SAAQ,IAAI,CACR,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,OAAO,GACP,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,cAAc,CACjB,EACD,IAAI,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC,EACzE,IAAI,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC,EAC7E,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
1
+ {"version":3,"file":"thead.type.d.ts","sourceRoot":"","sources":["thead.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,UACf,SAAQ,IAAI,CACR,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,OAAO,GACP,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,eAAe,CAClB,EACD,IAAI,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC,EACzE,IAAI,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC,EAC7E,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA0JjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll-table.d.ts","sourceRoot":"","sources":["scroll-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,QAAA,MAAM,MAAM,UAAW,WAAW,4CA+KjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import React, { useLayoutEffect, useRef } from 'react';
7
+ import React, { useLayoutEffect, useEffect, useRef } from 'react';
8
8
  import { useForkRef, usePersistFn, useResize, util } from '@sheinx/hooks';
9
9
  import { useConfig } from "../config";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -130,6 +130,25 @@ var Scroll = function Scroll(props) {
130
130
  }
131
131
  });
132
132
 
133
+ // 组件元素隐藏时,设置定高,解决恢复显示时滚动条位置未保持住的问题
134
+ useEffect(function () {
135
+ if (!props.tableRef.current) return;
136
+ var isVisible = props.tableRef.current.offsetParent !== null;
137
+ var wasHidden = props.tableRef.current.getAttribute('data-was-hidden') === 'true';
138
+ var h = context.lastTableHeight || props.tableRef.current.clientHeight;
139
+ if (h > 0) {
140
+ context.lastTableHeight = h;
141
+ }
142
+ if (isVisible && wasHidden) {
143
+ props.tableRef.current.style.height = '100%';
144
+ props.tableRef.current.removeAttribute('data-was-hidden');
145
+ } else if (!isVisible && props.tableRef.current.style.height === '100%') {
146
+ // 加height === '100%'判断是因为:多层父级flex嵌套才有这个问题
147
+ props.tableRef.current.style.height = "".concat(context.lastTableHeight, "px");
148
+ props.tableRef.current.setAttribute('data-was-hidden', 'true');
149
+ }
150
+ }, [paddingTop]);
151
+
133
152
  // 非定高的Table但依旧采用了virtual渲染方式,需要渲染出全部的data
134
153
  useLayoutEffect(function () {
135
154
  if (!props.tableRef.current || !props.setFakeVirtual) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.9.0-beta.24",
3
+ "version": "3.9.0-beta.26",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.9.0-beta.24",
13
+ "@sheinx/hooks": "3.9.0-beta.26",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.3.3"