@teamix/pro 1.5.25 → 1.5.26-beta-3

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 (55) hide show
  1. package/dist/pro.all.min.css +1 -1
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +25734 -21988
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/dist/pro.xconsole.min.css +1 -1
  7. package/es/card/index.scss +4 -0
  8. package/es/form/SchemaForm/adapterType.js +3 -0
  9. package/es/form/fieldTypeMap.js +3 -0
  10. package/es/form/global.scss +7 -0
  11. package/es/index.d.ts +1 -1
  12. package/es/index.js +10 -1
  13. package/es/table/components/Cell/index.d.ts +17 -0
  14. package/es/table/components/Cell/index.js +191 -0
  15. package/es/table/components/Filter/index.js +3 -3
  16. package/es/table/components/Layout/index.js +9 -7
  17. package/es/table/components/Pagination/index.d.ts +5 -4
  18. package/es/table/components/Pagination/index.js +5 -3
  19. package/es/table/components/TableContent/index.d.ts +8 -0
  20. package/es/table/components/TableContent/index.js +23 -0
  21. package/es/table/index.js +172 -136
  22. package/es/table/index.scss +26 -0
  23. package/es/table/typing.d.ts +9 -1
  24. package/es/table/utils/columnRender.d.ts +1 -0
  25. package/es/table/utils/columnRender.js +41 -1
  26. package/es/table/utils/genAutoWidthColumns.d.ts +30 -0
  27. package/es/table/utils/genAutoWidthColumns.js +353 -0
  28. package/es/table/utils/genProColumnToColumn.js +11 -2
  29. package/es/table/utils/processColumns.d.ts +8 -0
  30. package/es/table/utils/processColumns.js +39 -0
  31. package/lib/card/index.scss +4 -0
  32. package/lib/form/SchemaForm/adapterType.js +3 -0
  33. package/lib/form/fieldTypeMap.js +3 -0
  34. package/lib/form/global.scss +7 -0
  35. package/lib/index.d.ts +1 -1
  36. package/lib/index.js +11 -2
  37. package/lib/table/components/Cell/index.d.ts +17 -0
  38. package/lib/table/components/Cell/index.js +196 -0
  39. package/lib/table/components/Filter/index.js +3 -3
  40. package/lib/table/components/Layout/index.js +8 -6
  41. package/lib/table/components/Pagination/index.d.ts +5 -4
  42. package/lib/table/components/Pagination/index.js +4 -2
  43. package/lib/table/components/TableContent/index.d.ts +8 -0
  44. package/lib/table/components/TableContent/index.js +34 -0
  45. package/lib/table/index.js +174 -138
  46. package/lib/table/index.scss +26 -0
  47. package/lib/table/typing.d.ts +9 -1
  48. package/lib/table/utils/columnRender.d.ts +1 -0
  49. package/lib/table/utils/columnRender.js +44 -3
  50. package/lib/table/utils/genAutoWidthColumns.d.ts +30 -0
  51. package/lib/table/utils/genAutoWidthColumns.js +368 -0
  52. package/lib/table/utils/genProColumnToColumn.js +10 -1
  53. package/lib/table/utils/processColumns.d.ts +8 -0
  54. package/lib/table/utils/processColumns.js +46 -0
  55. package/package.json +1 -1
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _components = require("@alicloudfe/components");
10
10
  var _Pagination = _interopRequireDefault(require("./components/Pagination"));
11
+ var _TableContent = _interopRequireDefault(require("./components/TableContent"));
11
12
  var _genProColumnToColumn = _interopRequireDefault(require("./utils/genProColumnToColumn"));
12
13
  var _utils = require("@teamix/utils");
13
14
  var _skeleton = require("../skeleton");
@@ -15,17 +16,17 @@ require("./index.scss");
15
16
  var _Layout = _interopRequireDefault(require("./components/Layout"));
16
17
  var _utils2 = require("./utils");
17
18
  var _getTableProps = _interopRequireDefault(require("./utils/getTableProps"));
18
- var _getTableSortIcons = _interopRequireDefault(require("./utils/getTableSortIcons"));
19
19
  var _useTableSelection = _interopRequireDefault(require("./utils/useTableSelection"));
20
20
  var _Fullscreen = _interopRequireDefault(require("./components/ToolBar/Fullscreen"));
21
- var _proField = require("@teamix/pro-field");
22
21
  var _actions = require("../actions");
23
22
  var _classnames = _interopRequireDefault(require("classnames"));
24
23
  var _pageContainer = _interopRequireDefault(require("../page-container"));
24
+ var _genAutoWidthColumns = require("./utils/genAutoWidthColumns");
25
25
  var _lodash = _interopRequireDefault(require("lodash.debounce"));
26
26
  var _CardView = _interopRequireDefault(require("./components/CardView"));
27
27
  var _hooks = require("@teamix/hooks");
28
28
  var _util = require("./utils/util");
29
+ var _processColumns = _interopRequireDefault(require("./utils/processColumns"));
29
30
  var _typing = require("./typing");
30
31
  Object.keys(_typing).forEach(function (key) {
31
32
  if (key === "default" || key === "__esModule") return;
@@ -38,8 +39,8 @@ Object.keys(_typing).forEach(function (key) {
38
39
  }
39
40
  });
40
41
  });
41
- var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "afterDataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestConfig", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "autoRefreshProps", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context", "fixedTableBody", "isTree", "toolBarAutoWidth", "data-teamix-spm", "switchCardView", "cardViewProps", "defaultView", "emptyProps", "bindUrlProps", "bindUrl", "autoRedirect", "useMaxData"],
42
- _excluded2 = ["onChange"];
42
+ var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "afterDataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestConfig", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "autoRefreshProps", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context", "autoWidth", "fixedTableBody", "isTree", "toolBarAutoWidth", "data-teamix-spm", "switchCardView", "cardViewProps", "defaultView", "emptyProps", "bindUrlProps", "bindUrl", "autoRedirect", "useMaxData"],
43
+ _excluded2 = ["onChange", "onPageSizeChange"];
43
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
45
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -48,6 +49,9 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
48
49
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
49
50
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
50
51
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
52
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
53
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
54
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
51
55
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
52
56
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
53
57
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -56,44 +60,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
56
60
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
61
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
58
62
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
59
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
60
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
61
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
62
63
  var cls = (0, _utils.usePrefixCls)('teamix-pro-table');
63
- /**
64
- * 处理原生传入的 columns 以便于 选择列 方便处理
65
- * @param columns 原生传入的 columns
66
- * @returns
67
- */
68
- var processColumns = function processColumns(columns, initialColumns) {
69
- var _getGlobalConfig;
70
- var globalFilterColumns = (_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
71
- var filterColumns = columns.filter(function (item) {
72
- return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(_objectSpread({}, item)));
73
- });
74
- // 处理只剩一列批量选择的情况下宽度错乱问题
75
- if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
76
- var _initialColumns$;
77
- if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
78
- var _filterColumns$, _filterColumns$2;
79
- if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
80
- delete filterColumns[0].width;
81
- }
82
- if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
83
- filterColumns[0].lock = false;
84
- }
85
- } else if (((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.columnFilters) !== false) {
86
- var _initialColumns$2, _initialColumns$3;
87
- if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.width) {
88
- filterColumns[0].width = initialColumns[0].width;
89
- }
90
- if ((_initialColumns$3 = initialColumns[0]) === null || _initialColumns$3 === void 0 ? void 0 : _initialColumns$3.lock) {
91
- filterColumns[0].lock = initialColumns[0].lock;
92
- }
93
- }
94
- }
95
- return filterColumns;
96
- };
97
64
  /** 默认请求翻页参数 */
98
65
  var globalPageKey = 'currentPage';
99
66
  var globalPageSizeKey = 'pageSize';
@@ -107,6 +74,7 @@ var globalFormatSort = function globalFormatSort(sort) {
107
74
  };
108
75
  var ProTable = function ProTable(props) {
109
76
  var _urlState$currentPage, _rowSelection$selecte;
77
+ console.log('ProTable 代理成功');
110
78
  var header = props.header,
111
79
  className = props.className,
112
80
  tableClassName = props.tableClassName,
@@ -167,6 +135,8 @@ var ProTable = function ProTable(props) {
167
135
  propsSize = _props$size === void 0 ? 'medium' : _props$size,
168
136
  disableSelectAll = props.disableSelectAll,
169
137
  context = props.context,
138
+ _props$autoWidth = props.autoWidth,
139
+ autoWidthProp = _props$autoWidth === void 0 ? true : _props$autoWidth,
170
140
  _props$fixedTableBody = props.fixedTableBody,
171
141
  fixedTableBody = _props$fixedTableBody === void 0 ? false : _props$fixedTableBody,
172
142
  isTree = props.isTree,
@@ -216,7 +186,9 @@ var ProTable = function ProTable(props) {
216
186
  _useState12 = _slicedToArray(_useState11, 2),
217
187
  showSkeleton = _useState12[0],
218
188
  setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
219
- var skeletonDataSource = new Array(skeletonSize).fill({});
189
+ var skeletonDataSource = (0, _react.useMemo)(function () {
190
+ return new Array(skeletonSize).fill({});
191
+ }, [skeletonSize]);
220
192
  var requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
221
193
  // 如果使用 customRequest 的话,内置 loading
222
194
  var _useState13 = (0, _react.useState)(requestWhenMount),
@@ -226,10 +198,23 @@ var ProTable = function ProTable(props) {
226
198
  var tableRef = (0, _react.useRef)(null);
227
199
  var actionRef = (0, _react.useRef)();
228
200
  // 传给 table 的过滤后的 columns
229
- var _useState15 = (0, _react.useState)(processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
201
+ var _useState15 = (0, _react.useState)((0, _processColumns.default)(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
230
202
  _useState16 = _slicedToArray(_useState15, 2),
231
203
  filteredColumns = _useState16[0],
232
204
  setFilteredColumns = _useState16[1];
205
+ // 全局状态 : 自适应表格
206
+ var autoWidth = (0, _react.useMemo)(function () {
207
+ var _getGlobalConfig;
208
+ return ((_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.autoWidth) || autoWidthProp;
209
+ }, [autoWidthProp]);
210
+ // 判断是否有操作列,有的话则渲染一个 shadow dom
211
+ var hasActionColumn = false;
212
+ if (autoWidth) {
213
+ hasActionColumn = filteredColumns.some(function (column) {
214
+ var _column$actionSchema, _column$actionSchema$;
215
+ return (column === null || column === void 0 ? void 0 : column.actionSchema) && ((_column$actionSchema = column.actionSchema) === null || _column$actionSchema === void 0 ? void 0 : (_column$actionSchema$ = _column$actionSchema.actions) === null || _column$actionSchema$ === void 0 ? void 0 : _column$actionSchema$.length) > 0;
216
+ });
217
+ }
233
218
  var _useState17 = (0, _react.useState)(propsSize),
234
219
  _useState18 = _slicedToArray(_useState17, 2),
235
220
  size = _useState18[0],
@@ -238,6 +223,13 @@ var ProTable = function ProTable(props) {
238
223
  _useState20 = _slicedToArray(_useState19, 2),
239
224
  showLoading = _useState20[0],
240
225
  setShowLoading = _useState20[1];
226
+ // 自动计算列宽需要的一些hook
227
+ var _useState21 = (0, _react.useState)(false),
228
+ _useState22 = _slicedToArray(_useState21, 2),
229
+ showShadowContainer = _useState22[0],
230
+ setShowShadowContainer = _useState22[1];
231
+ var shadowContainerRef = (0, _react.useRef)(null);
232
+ var shadowActionColumnContainerRef = (0, _react.useRef)(null);
241
233
  // 表格内部用作存储的 Ref,标识 Table 组件是否被第一次渲染。用作 useUrlState filter 第一次渲染时使用 state 数据请求
242
234
  var dataRef = (0, _react.useRef)({
243
235
  flag: true
@@ -258,19 +250,19 @@ var ProTable = function ProTable(props) {
258
250
  }, [currentPage, pageSize, urlState]);
259
251
  // 存储能够被 on 监听到的 ProTable 状态
260
252
  // 因为只做存储用。不需要更新视图以及需要同步更改。所以不使用 setState 更新
261
- var _useState21 = (0, _react.useState)({
253
+ var _useState23 = (0, _react.useState)({
262
254
  fullScreenState: false,
263
255
  filterRules: {},
264
256
  filterColumns: []
265
257
  }),
266
- _useState22 = _slicedToArray(_useState21, 1),
267
- actionRefState = _useState22[0];
258
+ _useState24 = _slicedToArray(_useState23, 1),
259
+ actionRefState = _useState24[0];
268
260
  // 存储 on 监听事件
269
- var _useState23 = (0, _react.useState)({
261
+ var _useState25 = (0, _react.useState)({
270
262
  fullScreenState: {}
271
263
  }),
272
- _useState24 = _slicedToArray(_useState23, 1),
273
- actionRefCallback = _useState24[0];
264
+ _useState26 = _slicedToArray(_useState25, 1),
265
+ actionRefCallback = _useState26[0];
274
266
  // 存储定时器 id
275
267
  var autoRefreshTimerRef = (0, _react.useRef)();
276
268
  var onResize = null;
@@ -382,20 +374,20 @@ var ProTable = function ProTable(props) {
382
374
  }, 50);
383
375
  };
384
376
  // header 区域高度。用作全屏计算吸顶吸底高度。默认不做计算
385
- var _useState25 = (0, _react.useState)(0),
386
- _useState26 = _slicedToArray(_useState25, 2),
387
- headerHeight = _useState26[0],
388
- setHeaderHeight = _useState26[1];
389
- // 全屏显示 className
390
- var _useState27 = (0, _react.useState)(false),
377
+ var _useState27 = (0, _react.useState)(0),
391
378
  _useState28 = _slicedToArray(_useState27, 2),
392
- fullscreenState = _useState28[0],
393
- setFullscreenState = _useState28[1];
394
- // 切换视角
395
- var _useState29 = (0, _react.useState)(defaultView !== null && defaultView !== void 0 ? defaultView : 'table'),
379
+ headerHeight = _useState28[0],
380
+ setHeaderHeight = _useState28[1];
381
+ // 全屏显示 className
382
+ var _useState29 = (0, _react.useState)(false),
396
383
  _useState30 = _slicedToArray(_useState29, 2),
397
- switchViewState = _useState30[0],
398
- setSwitchViewState = _useState30[1];
384
+ fullscreenState = _useState30[0],
385
+ setFullscreenState = _useState30[1];
386
+ // 切换视角
387
+ var _useState31 = (0, _react.useState)(defaultView !== null && defaultView !== void 0 ? defaultView : 'table'),
388
+ _useState32 = _slicedToArray(_useState31, 2),
389
+ switchViewState = _useState32[0],
390
+ setSwitchViewState = _useState32[1];
399
391
  // 切换全屏搜索开关
400
392
  var filterEnableRef = (0, _react.useRef)({
401
393
  fullscreen: false,
@@ -415,10 +407,10 @@ var ProTable = function ProTable(props) {
415
407
  var dataFilterFormRef = !fullscreenState ? normalDataFilterFormRef : fullscreenDataFilterFormRef;
416
408
  // let dataFilterForm = dataFilterFormRef.current;
417
409
  // 整个内容区是否超过一屏。用于表格在非全屏模式下的吸底
418
- var _useState31 = (0, _react.useState)(false),
419
- _useState32 = _slicedToArray(_useState31, 2),
420
- footerSuctionState = _useState32[0],
421
- setFooterSuctionState = _useState32[1];
410
+ var _useState33 = (0, _react.useState)(false),
411
+ _useState34 = _slicedToArray(_useState33, 2),
412
+ footerSuctionState = _useState34[0],
413
+ setFooterSuctionState = _useState34[1];
422
414
  // TODO 获取内容区是否超出一屏(暂时仅支持全家桶)
423
415
  var getFooterSuctionState = function getFooterSuctionState() {
424
416
  if (!footerSuction) {
@@ -518,7 +510,7 @@ var ProTable = function ProTable(props) {
518
510
  }, [propsActionRef]);
519
511
  (0, _react.useEffect)(function () {
520
512
  var _actionRef$current, _actionRef$current$se;
521
- var columns = processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
513
+ var columns = (0, _processColumns.default)(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
522
514
  setFilteredColumns(columns);
523
515
  (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setState) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, 'filterColumns', columns);
524
516
  }, [propsColumns]);
@@ -569,21 +561,30 @@ var ProTable = function ProTable(props) {
569
561
  setFullscreenState(state);
570
562
  getHeaderHeight(state);
571
563
  actionRef === null || actionRef === void 0 ? void 0 : (_actionRef$current2 = actionRef.current) === null || _actionRef$current2 === void 0 ? void 0 : (_actionRef$current2$s = _actionRef$current2.setState) === null || _actionRef$current2$s === void 0 ? void 0 : _actionRef$current2$s.call(_actionRef$current2, 'fullScreenState', state);
564
+ if (autoWidth) {
565
+ reGenFilteredColumnsByAutoWidth();
566
+ }
572
567
  return state;
573
568
  },
574
569
  setColumn: function setColumn(newColumns) {
575
570
  var _actionRef$current3, _actionRef$current3$s;
576
571
  var update = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
577
- var columns = processColumns(newColumns, propsColumns);
572
+ var columns = (0, _processColumns.default)(newColumns, propsColumns);
578
573
  setFilteredColumns(columns);
579
574
  (_actionRef$current3 = actionRef.current) === null || _actionRef$current3 === void 0 ? void 0 : (_actionRef$current3$s = _actionRef$current3.setState) === null || _actionRef$current3$s === void 0 ? void 0 : _actionRef$current3$s.call(_actionRef$current3, 'filterColumns', columns);
580
575
  if (update) {
581
576
  (0, _utils2.emit)('refreshFilterState', newColumns);
582
577
  }
578
+ if (autoWidth) {
579
+ reGenFilteredColumnsByAutoWidth(columns);
580
+ }
583
581
  },
584
582
  size: size,
585
583
  setSize: function setSize(mode) {
586
584
  _setSize(mode);
585
+ if (autoWidth) {
586
+ reGenFilteredColumnsByAutoWidth();
587
+ }
587
588
  },
588
589
  refresh: function refresh(params) {
589
590
  // card视角的刷新等于重新请求
@@ -647,6 +648,9 @@ var ProTable = function ProTable(props) {
647
648
  filterEnableRef: filterEnableRef,
648
649
  setData: function setData(data) {
649
650
  _setData(data);
651
+ if (autoWidth) {
652
+ reGenFilteredColumnsByAutoWidth();
653
+ }
650
654
  },
651
655
  resetTableMaxBodyHeight: function resetTableMaxBodyHeight(offset) {
652
656
  getHeaderHeight(fullscreenState, offset);
@@ -693,6 +697,21 @@ var ProTable = function ProTable(props) {
693
697
  if (propsActionRef) {
694
698
  propsActionRef.current = actionRef.current;
695
699
  }
700
+ function reGenFilteredColumnsByAutoWidth(columns) {
701
+ if (!autoWidth) {
702
+ return;
703
+ }
704
+ setShowShadowContainer(true);
705
+ var authWidthedColumns = (0, _genAutoWidthColumns.genAutoWidthColumns)(columns !== null && columns !== void 0 ? columns : filteredColumns, shadowContainerRef, data, size, useRowSelection, shadowActionColumnContainerRef);
706
+ setFilteredColumns(authWidthedColumns);
707
+ // 移除 shadow dom
708
+ // setTimeout(() => {
709
+ // if (document.querySelector('.teamix-pro-table-shadow-container')) {
710
+ // document.querySelector('.teamix-pro-table-shadow-container')?.remove();
711
+ // }
712
+ // }, 0);
713
+ }
714
+
696
715
  function onFormatResult(next) {
697
716
  props.onFormatResult && props.onFormatResult(next);
698
717
  // 如果开启了 autoRedirect 当当前页数不为1,并且data为空的时候,重定向到第一页
@@ -732,6 +751,9 @@ var ProTable = function ProTable(props) {
732
751
  setTotal(total + (next.total || ((_next$data3 = next.data) === null || _next$data3 === void 0 ? void 0 : _next$data3.length)));
733
752
  }
734
753
  setShowSkeleton(false);
754
+ if (autoWidth) {
755
+ reGenFilteredColumnsByAutoWidth();
756
+ }
735
757
  }
736
758
  // 请求表格数据工具函数
737
759
  var getData = (0, _utils.useRequest)(function (params) {
@@ -798,7 +820,7 @@ var ProTable = function ProTable(props) {
798
820
  }
799
821
  });
800
822
  // 请求函数
801
- function _request(params, noLoading, filterParams, isReset) {
823
+ var _request = (0, _react.useCallback)(function (params, noLoading, filterParams, isReset) {
802
824
  var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$current6, _actionRef$current6$g, _objectSpread3;
803
825
  // 首次渲染表格,获取 urlState 上的 表头 filter 数据
804
826
  if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.headerFilters) !== false && dataRef.current.flag) {
@@ -878,6 +900,9 @@ var ProTable = function ProTable(props) {
878
900
  _setData([].concat(_toConsumableArray(data), _toConsumableArray(dataRes || [])));
879
901
  setTotal(total + (totalRes || (dataRes === null || dataRes === void 0 ? void 0 : dataRes.length)));
880
902
  }
903
+ if (autoWidth) {
904
+ reGenFilteredColumnsByAutoWidth();
905
+ }
881
906
  setShowSkeleton(false);
882
907
  setCustomTableLoading(false);
883
908
  }
@@ -899,7 +924,7 @@ var ProTable = function ProTable(props) {
899
924
  if (Number.isInteger(time) && time >= 1000) {
900
925
  autoRefreshTimerRef.current = setTimeout(function () {
901
926
  // 自动刷新不显示 loading
902
- _request({}, true);
927
+ _request(params, true);
903
928
  }, Number(time));
904
929
  (0, _utils2.emit)('PRO_TABLE_REFRESH_TIMER_FLAG', Number(time));
905
930
  }
@@ -910,57 +935,64 @@ var ProTable = function ProTable(props) {
910
935
  getData.run(requestData);
911
936
  }
912
937
  }
913
- }
914
- function onSort(dataIndex, order) {
938
+ }, [bindUrl, bindUrlProps, dataRef, url, customRequest]);
939
+ var onSort = (0, _react.useCallback)(function (dataIndex, order) {
915
940
  var nextSort = _defineProperty({}, dataIndex, order);
916
941
  setSort(nextSort);
917
942
  _request(targetFormatSort(nextSort));
918
- }
943
+ }, [_request, targetFormatSort]);
919
944
  // 处理 dataFilter 中的 onFilter、onReset
920
- var dataFilter = _objectSpread(_objectSpread({
921
- mode: 'inline',
922
- forceClear: true
923
- }, propsDataFilter), {}, {
924
- onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
925
- var _propsDataFilter$onIn;
926
- // 表单初始化请求处理
927
- propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
928
- !fullscreenState && requestWhenMount && _request({}, false, values);
929
- return true;
930
- } : undefined,
931
- onFilter: function onFilter(values) {
932
- var _actionRef$current7, _actionRef$current7$c;
933
- // 全屏状态,判断全屏表单onFilter是否禁用
934
- if (fullscreenState && !filterEnableRef.current.fullscreen) {
935
- filterEnableRef.current.fullscreen = true;
936
- return;
937
- }
938
- // 非全屏状态,判断普通表单onFiler是否禁用
939
- if (!fullscreenState && !filterEnableRef.current.normal) {
940
- filterEnableRef.current.normal = true;
941
- return;
945
+ var dataFilter = (0, _react.useMemo)(function () {
946
+ return _objectSpread(_objectSpread({
947
+ mode: 'inline',
948
+ forceClear: true
949
+ }, propsDataFilter), {}, {
950
+ onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
951
+ var _propsDataFilter$onIn;
952
+ // 表单初始化请求处理
953
+ propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
954
+ !fullscreenState && requestWhenMount && _request({}, false, values);
955
+ return true;
956
+ } : undefined,
957
+ onFilter: function onFilter(values) {
958
+ var _actionRef$current7, _actionRef$current7$c;
959
+ // 全屏状态,判断全屏表单onFilter是否禁用
960
+ if (fullscreenState && !filterEnableRef.current.fullscreen) {
961
+ filterEnableRef.current.fullscreen = true;
962
+ return;
963
+ }
964
+ // 非全屏状态,判断普通表单onFiler是否禁用
965
+ if (!fullscreenState && !filterEnableRef.current.normal) {
966
+ filterEnableRef.current.normal = true;
967
+ return;
968
+ }
969
+ (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(values));
970
+ // 搜索变化时,暂时先清空选择
971
+ (_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : (_actionRef$current7$c = _actionRef$current7.clearRowSelection) === null || _actionRef$current7$c === void 0 ? void 0 : _actionRef$current7$c.call(_actionRef$current7);
972
+ setCurrentPage(1);
973
+ _request(_defineProperty({}, targetPageKey, 1), false, values);
974
+ },
975
+ onReset: function onReset(values) {
976
+ var _dataFilterFormRef$cu3;
977
+ (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
978
+ (_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
979
+ setCurrentPage(1);
980
+ _request(_defineProperty({}, targetPageKey, 1), false, values);
942
981
  }
943
- (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(values));
944
- // 搜索变化时,暂时先清空选择
945
- (_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : (_actionRef$current7$c = _actionRef$current7.clearRowSelection) === null || _actionRef$current7$c === void 0 ? void 0 : _actionRef$current7$c.call(_actionRef$current7);
946
- setCurrentPage(1);
947
- _request(_defineProperty({}, targetPageKey, 1), false, values);
948
- },
949
- onReset: function onReset(values) {
950
- var _dataFilterFormRef$cu3;
951
- (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
952
- (_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
953
- setCurrentPage(1);
954
- _request(_defineProperty({}, targetPageKey, 1), false, values);
955
- }
956
- });
957
- var getTableLoading = function getTableLoading() {
982
+ });
983
+ }, [propsDataFilter, fullscreenState, filterEnableRef, actionRef]);
984
+ var isLoading = (0, _react.useMemo)(function () {
958
985
  if (!customRequest) {
959
986
  return showLoading && !showSkeleton && (getData.loading || props.loading);
960
987
  } else {
961
988
  return showLoading && !showSkeleton && (customTableLoading || props.loading);
962
989
  }
963
- };
990
+ }, [customRequest, showLoading, showSkeleton, customTableLoading, props.loading, getData]);
991
+ var memorizedGenProColumnToColumn = (0, _react.useMemo)(function () {
992
+ return (0, _genProColumnToColumn.default)(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps);
993
+ }, [
994
+ // filteredColumns,
995
+ showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps]);
964
996
  var renderTable = function renderTable(isFullScreen) {
965
997
  if (propsColumns) {
966
998
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -987,11 +1019,11 @@ var ProTable = function ProTable(props) {
987
1019
  autoRefreshProps: autoRefreshProps,
988
1020
  bindUrlProps: bindUrlProps,
989
1021
  bindUrl: bindUrl
990
- }), switchViewState === 'table' && /*#__PURE__*/_react.default.createElement(_components.Table.StickyLock, _objectSpread({
1022
+ }), switchViewState === 'table' && /*#__PURE__*/_react.default.createElement(_TableContent.default, _objectSpread({
991
1023
  hasBorder: false,
992
1024
  dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
993
- columns: (0, _genProColumnToColumn.default)(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps),
994
- loading: getTableLoading(),
1025
+ columns: memorizedGenProColumnToColumn,
1026
+ loading: isLoading,
995
1027
  className: (0, _classnames.default)('teamix-pro-table', tableClassName, {
996
1028
  'with-row-select': rowSelection,
997
1029
  'teamix-pro-tree-table': isTree
@@ -1002,14 +1034,12 @@ var ProTable = function ProTable(props) {
1002
1034
  sort: sort,
1003
1035
  primaryKey: primaryKey,
1004
1036
  rowSelection: rowSelection,
1005
- emptyContent: /*#__PURE__*/_react.default.createElement(_proField.EmptyContent, _objectSpread({}, emptyProps)),
1006
- sortIcons: (0, _getTableSortIcons.default)(),
1007
1037
  fixedHeader: fullscreenState || fixedTableBody,
1008
1038
  maxBodyHeight: "calc(100vh - ".concat(headerHeight, "px)")
1009
1039
  }, (0, _utils.pickProps)((0, _getTableProps.default)(), otherProps))), switchViewState === 'card' && /*#__PURE__*/_react.default.createElement(_CardView.default, {
1010
1040
  dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
1011
1041
  showSkeleton: showSkeleton,
1012
- loading: getTableLoading(),
1042
+ loading: isLoading,
1013
1043
  originColumns: propsColumns,
1014
1044
  cardViewProps: cardViewProps,
1015
1045
  scrollHeight: fullscreenState || fixedTableBody ? "calc(100vh - ".concat(headerHeight, "px)") : undefined,
@@ -1051,28 +1081,28 @@ var ProTable = function ProTable(props) {
1051
1081
  })));
1052
1082
  } else return footerAction;
1053
1083
  };
1054
- var renderFooter = function renderFooter() {
1055
- function onChangePagination(currentPage) {
1056
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1057
- // 翻页默认清空选择
1058
- if (!reserveSelectedRecords) {
1059
- var _actionRef$current8, _actionRef$current8$c;
1060
- (_actionRef$current8 = actionRef.current) === null || _actionRef$current8 === void 0 ? void 0 : (_actionRef$current8$c = _actionRef$current8.clearRowSelection) === null || _actionRef$current8$c === void 0 ? void 0 : _actionRef$current8$c.call(_actionRef$current8);
1061
- }
1062
- setCurrentPage(currentPage);
1063
- _request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
1084
+ var onChangePagination = (0, _react.useCallback)(function (currentPage) {
1085
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1086
+ // 翻页默认清空选择
1087
+ if (!reserveSelectedRecords) {
1088
+ var _actionRef$current8, _actionRef$current8$c;
1089
+ (_actionRef$current8 = actionRef.current) === null || _actionRef$current8 === void 0 ? void 0 : (_actionRef$current8$c = _actionRef$current8.clearRowSelection) === null || _actionRef$current8$c === void 0 ? void 0 : _actionRef$current8$c.call(_actionRef$current8);
1064
1090
  }
1065
- function onChangePaginationSize(currentPageSize) {
1066
- var _request10;
1067
- // 翻页默认清空选择
1068
- if (!reserveSelectedRecords) {
1069
- var _actionRef$current9, _actionRef$current9$c;
1070
- (_actionRef$current9 = actionRef.current) === null || _actionRef$current9 === void 0 ? void 0 : (_actionRef$current9$c = _actionRef$current9.clearRowSelection) === null || _actionRef$current9$c === void 0 ? void 0 : _actionRef$current9$c.call(_actionRef$current9);
1071
- }
1072
- setPageSize(currentPageSize);
1073
- setCurrentPage(1);
1074
- _request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
1091
+ setCurrentPage(currentPage);
1092
+ _request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
1093
+ }, [reserveSelectedRecords, targetPageKey, actionRef]);
1094
+ var onChangePaginationSize = (0, _react.useCallback)(function (currentPageSize) {
1095
+ var _request10;
1096
+ // 翻页默认清空选择
1097
+ if (!reserveSelectedRecords) {
1098
+ var _actionRef$current9, _actionRef$current9$c;
1099
+ (_actionRef$current9 = actionRef.current) === null || _actionRef$current9 === void 0 ? void 0 : (_actionRef$current9$c = _actionRef$current9.clearRowSelection) === null || _actionRef$current9$c === void 0 ? void 0 : _actionRef$current9$c.call(_actionRef$current9);
1075
1100
  }
1101
+ setPageSize(currentPageSize);
1102
+ setCurrentPage(1);
1103
+ _request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
1104
+ }, [reserveSelectedRecords, actionRef, targetPageSizeKey, targetPageKey]);
1105
+ var renderFooter = function renderFooter() {
1076
1106
  function renderRowSelection() {
1077
1107
  if (rowSelection) {
1078
1108
  if (showSkeleton) {
@@ -1106,6 +1136,7 @@ var ProTable = function ProTable(props) {
1106
1136
  var _props$paginationProp3;
1107
1137
  var _ref8 = (_props$paginationProp3 = props === null || props === void 0 ? void 0 : props.paginationProps) !== null && _props$paginationProp3 !== void 0 ? _props$paginationProp3 : {},
1108
1138
  onPaginationPropsChange = _ref8.onChange,
1139
+ onPageSizeChangeProp = _ref8.onPageSizeChange,
1109
1140
  othersPaginationProps = _objectWithoutProperties(_ref8, _excluded2);
1110
1141
  return /*#__PURE__*/_react.default.createElement("div", {
1111
1142
  className: cls('footer', {
@@ -1130,7 +1161,8 @@ var ProTable = function ProTable(props) {
1130
1161
  pageSizeSelector: total > (props.pageSize || 10) * 2 ? 'dropdown' : false,
1131
1162
  type: total / pageSize <= 2 ? 'simple' : 'normal',
1132
1163
  onPageSizeChange: function onPageSizeChange(number) {
1133
- return onChangePaginationSize(number);
1164
+ onChangePaginationSize(number);
1165
+ onPageSizeChangeProp === null || onPageSizeChangeProp === void 0 ? void 0 : onPageSizeChangeProp(number);
1134
1166
  },
1135
1167
  useMaxData: globalUseMaxData !== null && globalUseMaxData !== void 0 ? globalUseMaxData : useMaxData
1136
1168
  }, othersPaginationProps)))));
@@ -1168,7 +1200,11 @@ var ProTable = function ProTable(props) {
1168
1200
  // 'footer-suction': footerSuctionState && footerSuction,
1169
1201
  }),
1170
1202
  ref: tableRef
1171
- }, renderTable(isFullScreen), fixFooterState && /*#__PURE__*/_react.default.createElement(_pageContainer.default.FixedFooter, null, renderFooter()), !fixFooterState && renderFooter());
1203
+ }, showShadowContainer && (0, _genAutoWidthColumns.shadowContainer)({
1204
+ columns: filteredColumns,
1205
+ data: data,
1206
+ shadowContainerRef: shadowContainerRef
1207
+ }), hasActionColumn && (0, _genAutoWidthColumns.shadowActionColumnContainer)(filteredColumns, shadowActionColumnContainerRef), renderTable(isFullScreen), fixFooterState && /*#__PURE__*/_react.default.createElement(_pageContainer.default.FixedFooter, null, renderFooter()), !fixFooterState && renderFooter());
1172
1208
  });
1173
1209
  };
1174
1210
  var _default = ProTable;
@@ -78,6 +78,32 @@ $fullscreenPadding: 24px;
78
78
  transition: all 0.1s;
79
79
  }
80
80
  }
81
+ &-shadow-container {
82
+ overflow: hidden;
83
+ position: absolute;
84
+ right: 0;
85
+ left: 0;
86
+ top: 0;
87
+ visibility: hidden;
88
+ pointer-events: none;
89
+ }
90
+ &-shadow-container-columns {
91
+ display: flex;
92
+ >* {
93
+ flex-shrink: 0;
94
+ }
95
+ }
96
+ &-action-column-shadow-container {
97
+ overflow: hidden;
98
+ position: absolute;
99
+ right: 0;
100
+ left: 0;
101
+ top: 0;
102
+ visibility: hidden;
103
+ pointer-events: none;
104
+ display: flex;
105
+ }
106
+
81
107
  // sort icon
82
108
  .next-table-sort.next-table-header-icon {
83
109
  line-height: 16px;
@@ -13,7 +13,7 @@ import { ProCardProps } from '../card';
13
13
  declare type IFieldRenderProps = keyof ProFieldRenderProps;
14
14
  /** 列record函数 */
15
15
  declare type ProTableCellFunProp = (value: any, index: number, record: any, ...others: any) => any;
16
- declare type ITableCellRender = {
16
+ export declare type ITableCellRender = {
17
17
  [key in IFieldRenderProps]?: ProFieldRenderProps[key] | ProTableCellFunProp;
18
18
  } | ((...other: any) => React.ReactNode);
19
19
  declare type TDataService = {
@@ -24,6 +24,12 @@ declare type TDataService = {
24
24
  };
25
25
  export declare type responsivePaginationType = 'mini' | 'small' | 'simple' | 'normal';
26
26
  export declare type ProTableColumnProps = {
27
+ /** 是否开启了自动计算宽度 */
28
+ isAutoWidth?: boolean;
29
+ /** 自动计算宽度时的被挤占的情况 */
30
+ shrink?: number;
31
+ /** 是否自动适应该列宽度 */
32
+ autoWidth?: boolean;
27
33
  /**
28
34
  * 会在 title 之后展示一个 icon,hover 之后提示一些信息
29
35
  */
@@ -65,6 +71,8 @@ export declare type ProTableColumnProps = {
65
71
  } & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode' | 'children'>;
66
72
  export declare type ProColumnProps = ProTableColumnProps;
67
73
  export declare type ProTableProps = {
74
+ /** 表格是否自适应宽度 */
75
+ autoWidth?: boolean;
68
76
  /** ProColums 定义,取代 Table 的 columns */
69
77
  columns: ProTableColumnProps[];
70
78
  /** 请求地址 */
@@ -11,3 +11,4 @@ export declare const renderColumnsTitle: (item: ProTableColumnProps, actionRef:
11
11
  * 负责单元格的具体渲染
12
12
  */
13
13
  export declare const renderCell: (value: any, item: ProTableColumnProps, index: number, record: any, actionRef: React.MutableRefObject<ProTableActionType | undefined>, context?: any, dataTeamixSpm?: string) => JSX.Element;
14
+ export declare const renderCellSmartWidth: (value: any, item: ProTableColumnProps, index: number, record: any) => 0 | import("@teamix/pro-field/lib/autoWidth/typing").ProFieldAutoWidthPropsItem;