@zat-design/sisyphus-react 3.9.3-beta.3 → 3.9.3-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,14 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import { useRef, useState } from 'react';
3
3
  import { isFunction, isEqualWith, get } from 'lodash';
4
4
  import { customEqualForFun } from './index';
5
+ /** FormList中被删除的行也会再触发一次响应式函数 排除这种场景 */
6
+ var isDeleteLine = function isDeleteLine(form, namePath) {
7
+ if (namePath) {
8
+ var line = form.getFieldValue(namePath);
9
+ return line === undefined;
10
+ }
11
+ return false;
12
+ };
5
13
  // 代理shouldUpdate事件, 执行函数值的[show, disabled], 当[show, disabled]与上一次值不相同时更新状态
6
14
  var useShouldUpdate = function useShouldUpdate(props) {
7
15
  var show = props.show,
@@ -169,7 +177,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
169
177
  namePath: namePath
170
178
  }) : fieldProps;
171
179
  // 清值防抖 多次刷新时以最后一次为准
172
- if (clearNotShow !== false && (name || names)) {
180
+ if (clearNotShow !== false && (name || names) && !isDeleteLine(form, namePath)) {
173
181
  // 当show为其他变为false的时候记录一次需要清值
174
182
  if (_show !== showRef.current && _show === false) {
175
183
  needClear.current = true;
@@ -2,6 +2,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  var _excluded = ["id", "title", "collapse", "children"];
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { useEffect } from 'react';
5
6
  import { useStep } from '../../index';
6
7
  import ProCollapse from '../../../ProLayout/components/ProCollapse';
7
8
  export default (function (_ref) {
@@ -14,10 +15,18 @@ export default (function (_ref) {
14
15
  var _useStep = useStep(),
15
16
  register = _useStep.register,
16
17
  collapse = _useStep.collapse;
17
- register === null || register === void 0 ? void 0 : register(_objectSpread(_objectSpread({}, restProps), {}, {
18
- title: title,
19
- id: id
20
- }));
18
+ useEffect(function () {
19
+ // 子组件更新父组件 延迟状态更新,避免重渲染
20
+ var timeoutId = setTimeout(function () {
21
+ register === null || register === void 0 ? void 0 : register(_objectSpread(_objectSpread({}, restProps), {}, {
22
+ title: title,
23
+ id: id
24
+ }));
25
+ }, 0);
26
+ return function () {
27
+ return clearTimeout(timeoutId);
28
+ };
29
+ }, [register]);
21
30
  return _jsx("div", {
22
31
  className: "pro-step-item",
23
32
  id: id,
@@ -9,6 +9,14 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
9
9
  var _react = require("react");
10
10
  var _lodash = require("lodash");
11
11
  var _index = require("./index");
12
+ /** FormList中被删除的行也会再触发一次响应式函数 排除这种场景 */
13
+ var isDeleteLine = function isDeleteLine(form, namePath) {
14
+ if (namePath) {
15
+ var line = form.getFieldValue(namePath);
16
+ return line === undefined;
17
+ }
18
+ return false;
19
+ };
12
20
  // 代理shouldUpdate事件, 执行函数值的[show, disabled], 当[show, disabled]与上一次值不相同时更新状态
13
21
  var useShouldUpdate = function useShouldUpdate(props) {
14
22
  var show = props.show,
@@ -176,7 +184,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
176
184
  namePath: namePath
177
185
  }) : fieldProps;
178
186
  // 清值防抖 多次刷新时以最后一次为准
179
- if (clearNotShow !== false && (name || names)) {
187
+ if (clearNotShow !== false && (name || names) && !isDeleteLine(form, namePath)) {
180
188
  // 当show为其他变为false的时候记录一次需要清值
181
189
  if (_show !== showRef.current && _show === false) {
182
190
  needClear.current = true;
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
+ var _react = require("react");
11
12
  var _index = require("../../index");
12
13
  var _ProCollapse = _interopRequireDefault(require("../../../ProLayout/components/ProCollapse"));
13
14
  var _excluded = ["id", "title", "collapse", "children"];
@@ -21,10 +22,18 @@ var _default = exports.default = function _default(_ref) {
21
22
  var _useStep = (0, _index.useStep)(),
22
23
  register = _useStep.register,
23
24
  collapse = _useStep.collapse;
24
- register === null || register === void 0 ? void 0 : register((0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
25
- title: title,
26
- id: id
27
- }));
25
+ (0, _react.useEffect)(function () {
26
+ // 子组件更新父组件 延迟状态更新,避免重渲染
27
+ var timeoutId = setTimeout(function () {
28
+ register === null || register === void 0 ? void 0 : register((0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
29
+ title: title,
30
+ id: id
31
+ }));
32
+ }, 0);
33
+ return function () {
34
+ return clearTimeout(timeoutId);
35
+ };
36
+ }, [register]);
28
37
  return (0, _jsxRuntime.jsx)("div", {
29
38
  className: "pro-step-item",
30
39
  id: id,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.9.3-beta.3",
3
+ "version": "3.9.3-beta.4",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -1,5 +0,0 @@
1
- {
2
- "recommendations": [
3
- "kisstkondoros.vscode-codemetrics"
4
- ]
5
- }