@zat-design/sisyphus-react 3.7.1-beta.2 → 3.7.1-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.
@@ -24,9 +24,10 @@ import { FieldProvider } from '../../../ProForm/utils/useFieldProps';
24
24
  import useRules from '../../../ProForm/utils/useRules';
25
25
  import { isSelect, isTrim } from '../../../ProForm/utils';
26
26
  import ConfirmWrapper from '../../../ProForm/components/render/ConfirmWrapper';
27
+ import { getDefaultProps } from '../../utils/getDefaultProps';
27
28
  import ListChanged from './ListChanged';
28
29
  var RenderField = function RenderField(_ref) {
29
- var _type, _type$replace, _fieldProps2, _names, _TargetComponent4, _componentProps, _componentProps2;
30
+ var _type, _type$replace, _fieldProps2, _names, _TargetComponent4, _componentProps2;
30
31
  var value = _ref.text,
31
32
  record = _ref.record,
32
33
  index = _ref.index,
@@ -154,8 +155,14 @@ var RenderField = function RenderField(_ref) {
154
155
  });
155
156
  // 分离form item参数,防止对于参数透传(如onChange,防止重复触发)并优先级高于 _fieldProps 内部参数
156
157
  var formItemChildProps = _objectSpread({}, _fieldProps);
158
+ var defaultProps = getDefaultProps({
159
+ name: name,
160
+ namePath: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
161
+ type: column === null || column === void 0 ? void 0 : column.type,
162
+ fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
163
+ });
157
164
  // 允许formItem的属性放在column最外层
158
- var _formItemProps = _objectSpread(_objectSpread({}, resetProps), internalRule);
165
+ var _formItemProps = _objectSpread(_objectSpread(_objectSpread({}, defaultProps), resetProps), internalRule);
159
166
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
160
167
  _formItemProps.valuePropName = 'checked';
161
168
  valueType = 'switch';
@@ -530,55 +537,65 @@ var RenderField = function RenderField(_ref) {
530
537
  delete _formItemProps.rules;
531
538
  }
532
539
  var _className = classNames(_defineProperty({}, className, className));
533
- var FormItem = null;
534
- var FieldComponent = /*#__PURE__*/React.isValidElement(TargetComponent) ? ( /*#__PURE__*/React.cloneElement(TargetComponent, componentProps)) : _jsx(TargetComponent, _objectSpread({}, componentProps));
535
- if (originalValues) {
536
- FieldComponent = _jsx(ListChanged, {
537
- name: cellName,
538
- names: names,
539
- namesStr: [].concat(_toConsumableArray(baseName), [index, dataIndex]),
540
- rowKeyPath: [].concat(_toConsumableArray(baseName), [index, 'rowKey']),
541
- originalName: originalName,
542
- originalNames: originalNames,
543
- originalValues: originalValues,
544
- form: form,
545
- equalWith: equalWith,
546
- type: type,
547
- onChange: _onChange,
540
+ var getFieldItem = function getFieldItem() {
541
+ var _componentProps;
542
+ var FormItem = null;
543
+ var FieldComponent = /*#__PURE__*/React.isValidElement(TargetComponent) ? ( /*#__PURE__*/React.cloneElement(TargetComponent, componentProps)) : _jsx(TargetComponent, _objectSpread({}, componentProps));
544
+ if (originalValues) {
545
+ FieldComponent = _jsx(ListChanged, {
546
+ name: cellName,
547
+ names: names,
548
+ namesStr: [].concat(_toConsumableArray(baseName), [index, dataIndex]),
549
+ rowKeyPath: [].concat(_toConsumableArray(baseName), [index, 'rowKey']),
550
+ originalName: originalName,
551
+ originalNames: originalNames,
552
+ originalValues: originalValues,
553
+ form: form,
554
+ equalWith: equalWith,
555
+ type: type,
556
+ onChange: _onChange,
557
+ children: FieldComponent
558
+ });
559
+ }
560
+ if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
561
+ FieldComponent = _jsx(ConfirmWrapper, _objectSpread(_objectSpread({}, componentProps), {}, {
562
+ children: FieldComponent
563
+ }));
564
+ }
565
+ FormItem = TargetComponent ? _jsx(_Form.Item, _objectSpread(_objectSpread({
566
+ validateFirst: true
567
+ }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell', _fieldProps.shouldUpdate ? 'shouldUpdate' : null])), {}, {
568
+ className: _className,
569
+ name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
548
570
  children: FieldComponent
571
+ })) : _jsx(Container, {
572
+ viewEmpty: viewEmpty
549
573
  });
550
- }
551
- if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
552
- FieldComponent = _jsx(ConfirmWrapper, _objectSpread(_objectSpread({}, componentProps), {}, {
553
- children: FieldComponent
554
- }));
555
- }
556
- FormItem = TargetComponent ? _jsx(_Form.Item, _objectSpread(_objectSpread({
557
- validateFirst: true
558
- }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell'])), {}, {
559
- className: _className,
560
- name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
561
- children: FieldComponent
562
- })) : _jsx(Container, {
563
- viewEmpty: viewEmpty
564
- });
565
- if (type === 'FormList') {
566
- FormItem = _jsx(_Form.List, _objectSpread(_objectSpread({
567
- name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName
568
- }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
569
- children: function children(fields, operation, meta) {
570
- return _jsx(TargetComponent, _objectSpread(_objectSpread({}, componentProps), {}, {
571
- otherProps: otherProps,
572
- fields: fields,
573
- operation: operation,
574
- meta: meta
575
- }));
576
- }
577
- }));
578
- }
574
+ if (type === 'FormList') {
575
+ FormItem = _jsx(_Form.List, _objectSpread(_objectSpread({
576
+ name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName
577
+ }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
578
+ children: function children(fields, operation, meta) {
579
+ return _jsx(TargetComponent, _objectSpread(_objectSpread({}, componentProps), {}, {
580
+ otherProps: otherProps,
581
+ fields: fields,
582
+ operation: operation,
583
+ meta: meta
584
+ }));
585
+ }
586
+ }));
587
+ }
588
+ return FormItem;
589
+ };
579
590
  return _jsx(FieldProvider, {
580
591
  value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
581
- children: FormItem
592
+ children: _formItemProps.shouldUpdate ? _jsx(_Form.Item, {
593
+ noStyle: true,
594
+ shouldUpdate: _formItemProps.shouldUpdate,
595
+ children: function children() {
596
+ return getFieldItem();
597
+ }
598
+ }) : getFieldItem()
582
599
  });
583
600
  };
584
601
  export default RenderField;
@@ -0,0 +1 @@
1
+ export declare const getDefaultProps: (props: any) => any;
@@ -0,0 +1,31 @@
1
+ import { get, isEqual } from 'lodash';
2
+ var defaultPropsMap = {
3
+ ProSelect: function ProSelect(props) {
4
+ var fieldProps = props.fieldProps,
5
+ name = props.name,
6
+ namePath = props.namePath;
7
+ var _ref = fieldProps || {},
8
+ filterInList = _ref.filterInList;
9
+ var defaultProps = {};
10
+ // formList场景传入列表过滤时
11
+ if (filterInList && namePath && name) {
12
+ var _namePath = namePath.slice(2, namePath.length - 1);
13
+ defaultProps.shouldUpdate = function (preValues, curValues) {
14
+ var _get, _get$map, _get2, _get2$map;
15
+ var preListValue = (_get = get(preValues, name)) === null || _get === void 0 ? void 0 : (_get$map = _get.map) === null || _get$map === void 0 ? void 0 : _get$map.call(_get, function (item) {
16
+ return get(item, _namePath);
17
+ });
18
+ var curListValue = (_get2 = get(curValues, name)) === null || _get2 === void 0 ? void 0 : (_get2$map = _get2.map) === null || _get2$map === void 0 ? void 0 : _get2$map.call(_get2, function (item) {
19
+ return get(item, _namePath);
20
+ });
21
+ return !isEqual(preListValue, curListValue);
22
+ };
23
+ }
24
+ return defaultProps;
25
+ }
26
+ };
27
+ export var getDefaultProps = function getDefaultProps(props) {
28
+ var _defaultPropsMap$type;
29
+ var type = props.type;
30
+ return (_defaultPropsMap$type = defaultPropsMap[type]) === null || _defaultPropsMap$type === void 0 ? void 0 : _defaultPropsMap$type.call(defaultPropsMap, props);
31
+ };
@@ -194,12 +194,10 @@ export var useTransformColumns = function useTransformColumns(params) {
194
194
  timerRef.current[index] = setTimeout(function () {
195
195
  if (names) {
196
196
  form.resetFields([columnName]);
197
- } else {
198
- var columnValue = form.getFieldValue(name);
199
- if (columnValue === null || columnValue === void 0 ? void 0 : columnValue.length) {
200
- columnValue[index] = null;
201
- form.setFieldValue(columnName, _toConsumableArray(columnValue));
202
- }
197
+ }
198
+ if (!names && (value === null || value === void 0 ? void 0 : value.length)) {
199
+ value[index] = null;
200
+ form.setFieldValue(columnName, _toConsumableArray(value));
203
201
  }
204
202
  }, 200);
205
203
  } else {
@@ -441,36 +441,25 @@ var Render = function Render(props) {
441
441
  children: child
442
442
  });
443
443
  }
444
- var orgFormItem = _jsx(_Form.Item, _objectSpread(_objectSpread({}, omit(_otherFormItemProps, filterFormItemKey)), {}, {
444
+ return _jsx(_Form.Item, _objectSpread(_objectSpread({}, omit(_otherFormItemProps, filterFormItemKey)), {}, {
445
445
  // @ts-ignore
446
446
  _internalItemRender: internalItemRender,
447
447
  className: _className,
448
448
  children: child
449
449
  }));
450
- var formItem = orgFormItem;
451
- // 当存在shouldUpdate时捕获所有form变更(防止表单onchange设置form值时无法更新的问题)
452
- if (_otherFormItemProps.shouldUpdate) {
453
- formItem =
454
- // 空标签防止气泡不显示
455
- _jsx(_Fragment, {
456
- children: _jsx(_Form.Item, {
457
- shouldUpdate: _otherFormItemProps.shouldUpdate,
458
- noStyle: true,
459
- children: function children() {
460
- return _jsx(_Form.Item, _objectSpread(_objectSpread({}, omit(_otherFormItemProps, filterFormItemKey)), {}, {
461
- // @ts-ignore
462
- _internalItemRender: internalItemRender,
463
- className: _className,
464
- children: child
465
- }));
466
- }
467
- })
468
- });
469
- }
470
- return formItem;
471
450
  };
472
451
  var FormItem = _jsxs(_Fragment, {
473
- children: [renderItem(), (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$names2 = otherProps.names) === null || _otherProps$names2 === void 0 ? void 0 : _otherProps$names2.length) ? otherProps.names.map(function (name) {
452
+ children: [_otherFormItemProps.shouldUpdate ?
453
+ // 空标签防止气泡不显示
454
+ _jsx(_Fragment, {
455
+ children: _jsx(_Form.Item, {
456
+ shouldUpdate: _otherFormItemProps.shouldUpdate,
457
+ noStyle: true,
458
+ children: function children() {
459
+ return renderItem();
460
+ }
461
+ })
462
+ }) : renderItem(), (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$names2 = otherProps.names) === null || _otherProps$names2 === void 0 ? void 0 : _otherProps$names2.length) ? otherProps.names.map(function (name) {
474
463
  return _jsx(_Form.Item, {
475
464
  hidden: true,
476
465
  name: name,
@@ -5,6 +5,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { isBoolean, isFunction, union, isString } from 'lodash';
7
7
  import Render from './Render';
8
+ import { getDefaultProps } from '../../utils/getDefaultProps';
8
9
  import * as componentMap from '../index';
9
10
  import { isSelect } from '../../utils';
10
11
  import { FieldProvider } from '../../utils/useFieldProps';
@@ -76,8 +77,9 @@ var RenderFields = function RenderFields(props) {
76
77
  otherFormItemProps = _objectWithoutProperties(column, _excluded);
77
78
  var component = column.component;
78
79
  var _isView = typeof column.isView === 'boolean' ? column.isView : isView;
80
+ var defaultProps = getDefaultProps(column);
79
81
  // 允许formItem的属性放在column最外层 并优先级高于 formItemProps 内部参数
80
- var _formItemProps = _objectSpread(_objectSpread(_objectSpread({}, formItemProps), otherFormItemProps), {}, {
82
+ var _formItemProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultProps), formItemProps), otherFormItemProps), {}, {
81
83
  required: columnRequired !== null && columnRequired !== void 0 ? columnRequired : required,
82
84
  clearNotShow: clearNotShow
83
85
  });
@@ -0,0 +1 @@
1
+ export declare const getDefaultProps: (props: any) => any;
@@ -0,0 +1,31 @@
1
+ import { get, isEqual } from 'lodash';
2
+ var defaultPropsMap = {
3
+ ProSelect: function ProSelect(props) {
4
+ var fieldProps = props.fieldProps,
5
+ name = props.name,
6
+ namePath = props.namePath;
7
+ var _ref = fieldProps || {},
8
+ filterInList = _ref.filterInList;
9
+ var defaultProps = {};
10
+ // formList场景传入列表过滤时
11
+ if (filterInList && namePath && name) {
12
+ var _listName = namePath.slice(0, -1);
13
+ var _namePath = name.slice(1);
14
+ defaultProps.shouldUpdate = function (preValues, curValues) {
15
+ var preListValue = get(preValues, _listName).map(function (item) {
16
+ return get(item, _namePath);
17
+ });
18
+ var curListValue = get(curValues, _listName).map(function (item) {
19
+ return get(item, _namePath);
20
+ });
21
+ return !isEqual(preListValue, curListValue);
22
+ };
23
+ }
24
+ return defaultProps;
25
+ }
26
+ };
27
+ export var getDefaultProps = function getDefaultProps(props) {
28
+ var _defaultPropsMap$type;
29
+ var type = props.type;
30
+ return (_defaultPropsMap$type = defaultPropsMap[type]) === null || _defaultPropsMap$type === void 0 ? void 0 : _defaultPropsMap$type.call(defaultPropsMap, props);
31
+ };
@@ -199,7 +199,7 @@ function ProTable(props) {
199
199
  return show;
200
200
  }
201
201
  if (isFunction(show)) {
202
- return show(item, index);
202
+ return show();
203
203
  }
204
204
  return true;
205
205
  });
@@ -40,6 +40,7 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
40
40
  };
41
41
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
42
42
  transform?: (value: any, record?: any) => string[];
43
+ show?: boolean | (() => boolean);
43
44
  }
44
45
  export interface CreateTreeFromArrayOptions {
45
46
  itemKey?: string;
@@ -28,12 +28,13 @@ var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
28
28
  var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
29
29
  var _utils = require("../../../ProForm/utils");
30
30
  var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
31
+ var _getDefaultProps = require("../../utils/getDefaultProps");
31
32
  var _ListChanged = _interopRequireDefault(require("./ListChanged"));
32
33
  var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm"];
33
34
  /* eslint-disable prefer-destructuring */
34
35
  /* eslint-disable prefer-const */
35
36
  var RenderField = function RenderField(_ref) {
36
- var _type, _type$replace, _fieldProps2, _names, _TargetComponent4, _componentProps, _componentProps2;
37
+ var _type, _type$replace, _fieldProps2, _names, _TargetComponent4, _componentProps2;
37
38
  var value = _ref.text,
38
39
  record = _ref.record,
39
40
  index = _ref.index,
@@ -161,8 +162,14 @@ var RenderField = function RenderField(_ref) {
161
162
  });
162
163
  // 分离form item参数,防止对于参数透传(如onChange,防止重复触发)并优先级高于 _fieldProps 内部参数
163
164
  var formItemChildProps = (0, _objectSpread2.default)({}, _fieldProps);
165
+ var defaultProps = (0, _getDefaultProps.getDefaultProps)({
166
+ name: name,
167
+ namePath: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
168
+ type: column === null || column === void 0 ? void 0 : column.type,
169
+ fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
170
+ });
164
171
  // 允许formItem的属性放在column最外层
165
- var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps), internalRule);
172
+ var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), resetProps), internalRule);
166
173
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
167
174
  _formItemProps.valuePropName = 'checked';
168
175
  valueType = 'switch';
@@ -537,55 +544,65 @@ var RenderField = function RenderField(_ref) {
537
544
  delete _formItemProps.rules;
538
545
  }
539
546
  var _className = (0, _classnames.default)((0, _defineProperty2.default)({}, className, className));
540
- var FormItem = null;
541
- var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
542
- if (originalValues) {
543
- FieldComponent = (0, _jsxRuntime.jsx)(_ListChanged.default, {
544
- name: cellName,
545
- names: names,
546
- namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
547
- rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
548
- originalName: originalName,
549
- originalNames: originalNames,
550
- originalValues: originalValues,
551
- form: form,
552
- equalWith: equalWith,
553
- type: type,
554
- onChange: _onChange,
547
+ var getFieldItem = function getFieldItem() {
548
+ var _componentProps;
549
+ var FormItem = null;
550
+ var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
551
+ if (originalValues) {
552
+ FieldComponent = (0, _jsxRuntime.jsx)(_ListChanged.default, {
553
+ name: cellName,
554
+ names: names,
555
+ namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
556
+ rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
557
+ originalName: originalName,
558
+ originalNames: originalNames,
559
+ originalValues: originalValues,
560
+ form: form,
561
+ equalWith: equalWith,
562
+ type: type,
563
+ onChange: _onChange,
564
+ children: FieldComponent
565
+ });
566
+ }
567
+ if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
568
+ FieldComponent = (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
569
+ children: FieldComponent
570
+ }));
571
+ }
572
+ FormItem = TargetComponent ? (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
573
+ validateFirst: true
574
+ }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell', _fieldProps.shouldUpdate ? 'shouldUpdate' : null])), {}, {
575
+ className: _className,
576
+ name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
555
577
  children: FieldComponent
578
+ })) : (0, _jsxRuntime.jsx)(_Container.default, {
579
+ viewEmpty: viewEmpty
556
580
  });
557
- }
558
- if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
559
- FieldComponent = (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
560
- children: FieldComponent
561
- }));
562
- }
563
- FormItem = TargetComponent ? (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
564
- validateFirst: true
565
- }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell'])), {}, {
566
- className: _className,
567
- name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
568
- children: FieldComponent
569
- })) : (0, _jsxRuntime.jsx)(_Container.default, {
570
- viewEmpty: viewEmpty
571
- });
572
- if (type === 'FormList') {
573
- FormItem = (0, _jsxRuntime.jsx)(_antd.Form.List, (0, _objectSpread2.default)((0, _objectSpread2.default)({
574
- name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName
575
- }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
576
- children: function children(fields, operation, meta) {
577
- return (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
578
- otherProps: otherProps,
579
- fields: fields,
580
- operation: operation,
581
- meta: meta
582
- }));
583
- }
584
- }));
585
- }
581
+ if (type === 'FormList') {
582
+ FormItem = (0, _jsxRuntime.jsx)(_antd.Form.List, (0, _objectSpread2.default)((0, _objectSpread2.default)({
583
+ name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName
584
+ }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
585
+ children: function children(fields, operation, meta) {
586
+ return (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
587
+ otherProps: otherProps,
588
+ fields: fields,
589
+ operation: operation,
590
+ meta: meta
591
+ }));
592
+ }
593
+ }));
594
+ }
595
+ return FormItem;
596
+ };
586
597
  return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
587
598
  value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
588
- children: FormItem
599
+ children: _formItemProps.shouldUpdate ? (0, _jsxRuntime.jsx)(_antd.Form.Item, {
600
+ noStyle: true,
601
+ shouldUpdate: _formItemProps.shouldUpdate,
602
+ children: function children() {
603
+ return getFieldItem();
604
+ }
605
+ }) : getFieldItem()
589
606
  });
590
607
  };
591
608
  var _default = exports.default = RenderField;
@@ -0,0 +1 @@
1
+ export declare const getDefaultProps: (props: any) => any;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDefaultProps = void 0;
7
+ var _lodash = require("lodash");
8
+ var defaultPropsMap = {
9
+ ProSelect: function ProSelect(props) {
10
+ var fieldProps = props.fieldProps,
11
+ name = props.name,
12
+ namePath = props.namePath;
13
+ var _ref = fieldProps || {},
14
+ filterInList = _ref.filterInList;
15
+ var defaultProps = {};
16
+ // formList场景传入列表过滤时
17
+ if (filterInList && namePath && name) {
18
+ var _namePath = namePath.slice(2, namePath.length - 1);
19
+ defaultProps.shouldUpdate = function (preValues, curValues) {
20
+ var _get, _get$map, _get2, _get2$map;
21
+ var preListValue = (_get = (0, _lodash.get)(preValues, name)) === null || _get === void 0 ? void 0 : (_get$map = _get.map) === null || _get$map === void 0 ? void 0 : _get$map.call(_get, function (item) {
22
+ return (0, _lodash.get)(item, _namePath);
23
+ });
24
+ var curListValue = (_get2 = (0, _lodash.get)(curValues, name)) === null || _get2 === void 0 ? void 0 : (_get2$map = _get2.map) === null || _get2$map === void 0 ? void 0 : _get2$map.call(_get2, function (item) {
25
+ return (0, _lodash.get)(item, _namePath);
26
+ });
27
+ return !(0, _lodash.isEqual)(preListValue, curListValue);
28
+ };
29
+ }
30
+ return defaultProps;
31
+ }
32
+ };
33
+ var getDefaultProps = exports.getDefaultProps = function getDefaultProps(props) {
34
+ var _defaultPropsMap$type;
35
+ var type = props.type;
36
+ return (_defaultPropsMap$type = defaultPropsMap[type]) === null || _defaultPropsMap$type === void 0 ? void 0 : _defaultPropsMap$type.call(defaultPropsMap, props);
37
+ };
@@ -201,12 +201,10 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
201
201
  timerRef.current[index] = setTimeout(function () {
202
202
  if (names) {
203
203
  form.resetFields([columnName]);
204
- } else {
205
- var columnValue = form.getFieldValue(name);
206
- if (columnValue === null || columnValue === void 0 ? void 0 : columnValue.length) {
207
- columnValue[index] = null;
208
- form.setFieldValue(columnName, (0, _toConsumableArray2.default)(columnValue));
209
- }
204
+ }
205
+ if (!names && (value === null || value === void 0 ? void 0 : value.length)) {
206
+ value[index] = null;
207
+ form.setFieldValue(columnName, (0, _toConsumableArray2.default)(value));
210
208
  }
211
209
  }, 200);
212
210
  } else {
@@ -441,36 +441,25 @@ var Render = function Render(props) {
441
441
  children: child
442
442
  });
443
443
  }
444
- var orgFormItem = (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, filterFormItemKey)), {}, {
444
+ return (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, filterFormItemKey)), {}, {
445
445
  // @ts-ignore
446
446
  _internalItemRender: internalItemRender,
447
447
  className: _className,
448
448
  children: child
449
449
  }));
450
- var formItem = orgFormItem;
451
- // 当存在shouldUpdate时捕获所有form变更(防止表单onchange设置form值时无法更新的问题)
452
- if (_otherFormItemProps.shouldUpdate) {
453
- formItem =
454
- // 空标签防止气泡不显示
455
- (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
456
- children: (0, _jsxRuntime.jsx)(_antd.Form.Item, {
457
- shouldUpdate: _otherFormItemProps.shouldUpdate,
458
- noStyle: true,
459
- children: function children() {
460
- return (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, filterFormItemKey)), {}, {
461
- // @ts-ignore
462
- _internalItemRender: internalItemRender,
463
- className: _className,
464
- children: child
465
- }));
466
- }
467
- })
468
- });
469
- }
470
- return formItem;
471
450
  };
472
451
  var FormItem = (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
473
- children: [renderItem(), (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$names2 = otherProps.names) === null || _otherProps$names2 === void 0 ? void 0 : _otherProps$names2.length) ? otherProps.names.map(function (name) {
452
+ children: [_otherFormItemProps.shouldUpdate ?
453
+ // 空标签防止气泡不显示
454
+ (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
455
+ children: (0, _jsxRuntime.jsx)(_antd.Form.Item, {
456
+ shouldUpdate: _otherFormItemProps.shouldUpdate,
457
+ noStyle: true,
458
+ children: function children() {
459
+ return renderItem();
460
+ }
461
+ })
462
+ }) : renderItem(), (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$names2 = otherProps.names) === null || _otherProps$names2 === void 0 ? void 0 : _otherProps$names2.length) ? otherProps.names.map(function (name) {
474
463
  return (0, _jsxRuntime.jsx)(_antd.Form.Item, {
475
464
  hidden: true,
476
465
  name: name,
@@ -12,6 +12,7 @@ var _jsxRuntime = require("react/jsx-runtime");
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
  var _lodash = require("lodash");
14
14
  var _Render = _interopRequireDefault(require("./Render"));
15
+ var _getDefaultProps = require("../../utils/getDefaultProps");
15
16
  var componentMap = _interopRequireWildcard(require("../index"));
16
17
  var _utils = require("../../utils");
17
18
  var _useFieldProps = require("../../utils/useFieldProps");
@@ -84,8 +85,9 @@ var RenderFields = function RenderFields(props) {
84
85
  otherFormItemProps = (0, _objectWithoutProperties2.default)(column, _excluded);
85
86
  var component = column.component;
86
87
  var _isView = typeof column.isView === 'boolean' ? column.isView : isView;
88
+ var defaultProps = (0, _getDefaultProps.getDefaultProps)(column);
87
89
  // 允许formItem的属性放在column最外层 并优先级高于 formItemProps 内部参数
88
- var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, formItemProps), otherFormItemProps), {}, {
90
+ var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), formItemProps), otherFormItemProps), {}, {
89
91
  required: columnRequired !== null && columnRequired !== void 0 ? columnRequired : required,
90
92
  clearNotShow: clearNotShow
91
93
  });
@@ -0,0 +1 @@
1
+ export declare const getDefaultProps: (props: any) => any;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDefaultProps = void 0;
7
+ var _lodash = require("lodash");
8
+ var defaultPropsMap = {
9
+ ProSelect: function ProSelect(props) {
10
+ var fieldProps = props.fieldProps,
11
+ name = props.name,
12
+ namePath = props.namePath;
13
+ var _ref = fieldProps || {},
14
+ filterInList = _ref.filterInList;
15
+ var defaultProps = {};
16
+ // formList场景传入列表过滤时
17
+ if (filterInList && namePath && name) {
18
+ var _listName = namePath.slice(0, -1);
19
+ var _namePath = name.slice(1);
20
+ defaultProps.shouldUpdate = function (preValues, curValues) {
21
+ var preListValue = (0, _lodash.get)(preValues, _listName).map(function (item) {
22
+ return (0, _lodash.get)(item, _namePath);
23
+ });
24
+ var curListValue = (0, _lodash.get)(curValues, _listName).map(function (item) {
25
+ return (0, _lodash.get)(item, _namePath);
26
+ });
27
+ return !(0, _lodash.isEqual)(preListValue, curListValue);
28
+ };
29
+ }
30
+ return defaultProps;
31
+ }
32
+ };
33
+ var getDefaultProps = exports.getDefaultProps = function getDefaultProps(props) {
34
+ var _defaultPropsMap$type;
35
+ var type = props.type;
36
+ return (_defaultPropsMap$type = defaultPropsMap[type]) === null || _defaultPropsMap$type === void 0 ? void 0 : _defaultPropsMap$type.call(defaultPropsMap, props);
37
+ };
@@ -206,7 +206,7 @@ function ProTable(props) {
206
206
  return show;
207
207
  }
208
208
  if ((0, _lodash.isFunction)(show)) {
209
- return show(item, index);
209
+ return show();
210
210
  }
211
211
  return true;
212
212
  });
@@ -40,6 +40,7 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
40
40
  };
41
41
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
42
42
  transform?: (value: any, record?: any) => string[];
43
+ show?: boolean | (() => boolean);
43
44
  }
44
45
  export interface CreateTreeFromArrayOptions {
45
46
  itemKey?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.7.1-beta.2",
3
+ "version": "3.7.1-beta.4",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",