@zat-design/sisyphus-react 3.13.15-beta.2 → 3.13.15-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.
@@ -104,7 +104,9 @@ export var useTransformColumns = function useTransformColumns(params) {
104
104
  // @ts-ignore
105
105
  newValue = normalize === null || normalize === void 0 ? void 0 : normalize(newValue);
106
106
  }
107
- internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index);
107
+ // 根据模式选择值管理方式
108
+ names ? form.setFieldValue(columnName, newValue) // 独立字段模式
109
+ : internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index); // 数组值模式
108
110
  var values = form.getFieldValue(namePath);
109
111
  var originRow = (namePath === null || namePath === void 0 ? void 0 : namePath.length) ? _cloneDeep(values) : undefined;
110
112
  onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, args);
@@ -156,9 +158,14 @@ export var useTransformColumns = function useTransformColumns(params) {
156
158
  getValueProps: transform === null || transform === void 0 ? void 0 : transform.getValueProps,
157
159
  fieldProps: _objectSpread(_objectSpread(_objectSpread({}, column === null || column === void 0 ? void 0 : column.fieldProps), reactiveProps === null || reactiveProps === void 0 ? void 0 : reactiveProps.fieldProps), {}, {
158
160
  onChange: handleChange,
159
- onBlur: handleBlur,
161
+ onBlur: handleBlur
162
+ }, names ? {
163
+ value: form.getFieldValue(columnName)
164
+ } // 独立字段模式
165
+ : {
160
166
  value: value === null || value === void 0 ? void 0 : value[index]
161
- })
167
+ } // 数组值模式
168
+ )
162
169
  });
163
170
  });
164
171
  };
@@ -3,8 +3,8 @@ import _Tooltip from "antd/es/tooltip";
3
3
  import "antd/es/cascader/style";
4
4
  import _Cascader from "antd/es/cascader";
5
5
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
6
- import "antd/es/message/style";
7
- import _message from "antd/es/message";
6
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
7
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
8
8
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
9
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
10
10
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
@@ -16,8 +16,7 @@ import _find2 from "lodash/find";
16
16
  import _omit from "lodash/omit";
17
17
  var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent", "desensitization", "otherProps"];
18
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
- import { useEffect, useState, memo, useMemo, useCallback } from 'react';
20
- import { useRequest as useRequestFunc, useDeepCompareEffect } from 'ahooks';
19
+ import { useEffect, useState, memo, useMemo } from 'react';
21
20
  import { transformDataName } from './utils/index';
22
21
  import { useProConfig } from '../../../../ProConfigProvider';
23
22
  import Input from '../../base/Input';
@@ -58,7 +57,7 @@ var getViewLabel = function getViewLabel(_ref) {
58
57
  return viewLabel;
59
58
  };
60
59
  var ProCascader = function ProCascader(props) {
61
- var _props$otherProps, _useRequest$options3, _value$slice, _ref7, _ref7$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
60
+ var _props$otherProps, _value$slice, _ref5, _ref5$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
62
61
  var _ref2 = useProConfig('ProAddressBar') || {},
63
62
  configDetailMaxLength = _ref2.detailMaxLength,
64
63
  configEnumCode = _ref2.enumCode,
@@ -121,6 +120,10 @@ var ProCascader = function ProCascader(props) {
121
120
  }
122
121
  return disabled;
123
122
  }, [disabled]);
123
+ var _useRequest = _objectSpread({}, useRequest),
124
+ service = _useRequest.service,
125
+ _useRequest$defaultPa = _useRequest.defaultParams,
126
+ defaultParams = _useRequest$defaultPa === void 0 ? {} : _useRequest$defaultPa;
124
127
  var _useState = useState([]),
125
128
  _useState2 = _slicedToArray(_useState, 2),
126
129
  serviceData = _useState2[0],
@@ -129,104 +132,53 @@ var ProCascader = function ProCascader(props) {
129
132
  _useState4 = _slicedToArray(_useState3, 2),
130
133
  defaultLabel = _useState4[0],
131
134
  setDefaultLabel = _useState4[1];
132
- // 默认成功处理函数
133
- var defaultOnSuccessFun = function defaultOnSuccessFun(res) {
134
- var _ref4 = res || {},
135
- _ref4$status = _ref4.status,
136
- status = _ref4$status === void 0 ? 200 : _ref4$status,
137
- msg = _ref4.message,
138
- data = _ref4.data;
139
- if (status !== 200) {
140
- _message.error(msg);
141
- return;
142
- }
143
- var newData = data;
144
- if (transformResponse) {
145
- newData = transformResponse(data);
146
- }
147
- var transFormData = transformDataName(newData, {
148
- label: fieldNames.label,
149
- value: fieldNames.value,
150
- children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
151
- });
152
- var serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
153
- setServiceData(serviceData);
154
- };
155
- // 数据转换处理
156
- var successTransformDataHandle = useCallback(function (res) {
157
- if (transformResponse && typeof transformResponse === 'function') {
158
- return transformResponse(res);
159
- }
160
- var _ref5 = res || {},
161
- _ref5$status = _ref5.status,
162
- status = _ref5$status === void 0 ? 200 : _ref5$status,
163
- msg = _ref5.message,
164
- data = _ref5.data;
165
- if (status !== 200) {
166
- _message.error(msg);
167
- return;
168
- }
169
- return data;
170
- }, [transformResponse]);
171
- // 使用ahooks的useRequest
172
- var fetchFunction = useRequestFunc(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, _objectSpread(_objectSpread({
173
- manual: true,
174
- debounceWait: 300
175
- }, useRequest === null || useRequest === void 0 ? void 0 : useRequest.options), {}, {
176
- onSuccess: function onSuccess(data) {
177
- var _useRequest$options, _useRequest$options$o, _useRequest$options2;
178
- if (transformResponse && typeof transformResponse === 'function') {
179
- var responseData = transformResponse(data);
180
- var transFormData = transformDataName(responseData, {
181
- label: fieldNames.label,
182
- value: fieldNames.value,
183
- children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
184
- });
185
- var _serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
186
- setServiceData(_serviceData);
187
- } else {
188
- defaultOnSuccessFun(data);
189
- }
190
- // 执行传入的onSuccess
191
- useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options = useRequest.options) === null || _useRequest$options === void 0 ? void 0 : (_useRequest$options$o = _useRequest$options.onSuccess) === null || _useRequest$options$o === void 0 ? void 0 : _useRequest$options$o.call(_useRequest$options, data, useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options2 = useRequest.options) === null || _useRequest$options2 === void 0 ? void 0 : _useRequest$options2.defaultParams);
192
- }
193
- }));
194
- // 缓存数据处理
195
- var cacheList = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options3 = useRequest.options) === null || _useRequest$options3 === void 0 ? void 0 : _useRequest$options3.cacheKey) ? successTransformDataHandle(fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data) : [];
135
+ var getFirstLevelOptions = /*#__PURE__*/function () {
136
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
137
+ var _yield$service, data, newData, transFormData, serviceData;
138
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
139
+ while (1) switch (_context.prev = _context.next) {
140
+ case 0:
141
+ _context.next = 2;
142
+ return service(defaultParams);
143
+ case 2:
144
+ _yield$service = _context.sent;
145
+ data = _yield$service.data;
146
+ newData = data;
147
+ if (transformResponse) {
148
+ newData = transformResponse(data);
149
+ }
150
+ transFormData = transformDataName(newData, {
151
+ label: fieldNames.label,
152
+ value: fieldNames.value,
153
+ children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
154
+ });
155
+ serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
156
+ setServiceData(serviceData);
157
+ case 9:
158
+ case "end":
159
+ return _context.stop();
160
+ }
161
+ }, _callee);
162
+ }));
163
+ return function getFirstLevelOptions() {
164
+ return _ref4.apply(this, arguments);
165
+ };
166
+ }();
196
167
  // 提取出来默认每次都执行
197
168
  if (transformResponse) {
198
169
  realDataSource = transformResponse(realDataSource);
199
170
  }
200
- // 设置缓存数据
201
- useDeepCompareEffect(function () {
202
- var _useRequest$options4;
203
- if (!(serviceData === null || serviceData === void 0 ? void 0 : serviceData.length) && (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options4 = useRequest.options) === null || _useRequest$options4 === void 0 ? void 0 : _useRequest$options4.cacheKey)) {
204
- if (cacheList === null || cacheList === void 0 ? void 0 : cacheList.length) {
205
- setServiceData(cacheList);
206
- }
207
- }
208
- }, [fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data]);
209
- // 初始化请求数据
210
- useDeepCompareEffect(function () {
211
- var _useRequest$options5;
212
- if (!(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service)) {
213
- return;
214
- }
215
- var _ref6 = (useRequest === null || useRequest === void 0 ? void 0 : useRequest.options) || {},
216
- manual = _ref6.manual;
217
- if (manual || (cacheList === null || cacheList === void 0 ? void 0 : cacheList.length)) {
218
- return;
171
+ useEffect(function () {
172
+ if (service) {
173
+ // 传入useRequest时,初次加载级联第一级数据源
174
+ getFirstLevelOptions();
219
175
  }
220
- // 向后兼容性:优先使用 options.defaultParams,fallback 到 useRequest.defaultParams
221
- var defaultParams = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options5 = useRequest.options) === null || _useRequest$options5 === void 0 ? void 0 : _useRequest$options5.defaultParams) || (useRequest === null || useRequest === void 0 ? void 0 : useRequest.defaultParams);
222
- var params = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
223
- fetchFunction.run(params);
224
- }, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.options]);
176
+ }, [service]);
225
177
  useEffect(function () {
226
178
  if (realIsView && value) {
227
179
  var _realDataSource;
228
180
  // 传入dataSource + 查看时初始化展示
229
- if (useRequest === null || useRequest === void 0 ? void 0 : useRequest.service) {
181
+ if (service) {
230
182
  setDefaultLabel(getViewLabel({
231
183
  dataSource: serviceData,
232
184
  value: isAddressMode && hasDetail ? value === null || value === void 0 ? void 0 : value.slice(0, realLevel) : value
@@ -265,9 +217,9 @@ var ProCascader = function ProCascader(props) {
265
217
  var addressValue = isAddressMode ? value && ((_value$slice = value.slice(0, realLevel)) === null || _value$slice === void 0 ? void 0 : _value$slice.some(function (item) {
266
218
  return !!item;
267
219
  })) ? value.slice(0, realLevel) : undefined : value;
268
- var viewValue = isAddressMode ? ((_ref7 = [].concat(_toConsumableArray(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref7 === void 0 ? void 0 : (_ref7$filter = _ref7.filter(function (item) {
220
+ var viewValue = isAddressMode ? ((_ref5 = [].concat(_toConsumableArray(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref5 === void 0 ? void 0 : (_ref5$filter = _ref5.filter(function (item) {
269
221
  return !!item;
270
- })) === null || _ref7$filter === void 0 ? void 0 : _ref7$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
222
+ })) === null || _ref5$filter === void 0 ? void 0 : _ref5$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
271
223
  return !!item;
272
224
  })) === null || _defaultLabel$filter === void 0 ? void 0 : _defaultLabel$filter.join(separator)) || '-';
273
225
  var _findSelectedOptions = function findSelectedOptions(options, value) {
@@ -298,8 +250,8 @@ var ProCascader = function ProCascader(props) {
298
250
  return null;
299
251
  };
300
252
  var _selectedOptions = useMemo(function () {
301
- return _findSelectedOptions((useRequest === null || useRequest === void 0 ? void 0 : useRequest.service) ? serviceData : realDataSource, addressValue);
302
- }, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, serviceData, realDataSource, addressValue]);
253
+ return _findSelectedOptions(service ? serviceData : realDataSource, addressValue);
254
+ }, [service, serviceData, realDataSource, addressValue]);
303
255
  var handleAddressChange = function handleAddressChange(e) {
304
256
  var cascaderValue = value === null || value === void 0 ? void 0 : value.slice(0, realLevel);
305
257
  if (onChange) {
@@ -324,9 +276,8 @@ var ProCascader = function ProCascader(props) {
324
276
  className: hasDetail ? '' : 'no-detail',
325
277
  placeholder: locale === null || locale === void 0 ? void 0 : (_locale$ProAddressBar = locale.ProAddressBar) === null || _locale$ProAddressBar === void 0 ? void 0 : _locale$ProAddressBar.placeholder,
326
278
  value: addressValue,
327
- options: (useRequest === null || useRequest === void 0 ? void 0 : useRequest.service) ? serviceData : realDataSource,
279
+ options: service ? serviceData : realDataSource,
328
280
  disabled: lastDisabled[0],
329
- loading: fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.loading,
330
281
  displayRender: displayRender,
331
282
  showSearch: {
332
283
  filter: handlefilter,
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DefaultOptionType } from 'rc-select/lib/Select';
3
- import { Service, Options } from 'ahooks/lib/useRequest/src/types';
3
+ import { Service } from 'ahooks/lib/useRequest/src/types';
4
4
  export interface FieldNamesType {
5
5
  label: string;
6
6
  value: string;
@@ -19,18 +19,10 @@ export interface ProCascaderType {
19
19
  fieldNames?: FieldNamesType;
20
20
  dataSource?: DefaultOptionType[];
21
21
  useRequest?: {
22
- /**
23
- * @description 请求服务函数
24
- */
25
- service?: Service<any, any>;
26
- /**
27
- * @description 请求选项
28
- */
29
- options?: Options<any, any>;
30
- /**
31
- * @deprecated 保留向后兼容性,使用 options.defaultParams 替代
32
- */
22
+ loadData?: boolean;
23
+ service: Service<any, any>;
33
24
  defaultParams?: any;
25
+ parentKey?: string;
34
26
  };
35
27
  onChange?: (value: string[], selectedOptions?: any[]) => void;
36
28
  transformResponse?: (data: any[]) => any[];
@@ -112,7 +112,9 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
112
112
  // @ts-ignore
113
113
  newValue = normalize === null || normalize === void 0 ? void 0 : normalize(newValue);
114
114
  }
115
- internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index);
115
+ // 根据模式选择值管理方式
116
+ names ? form.setFieldValue(columnName, newValue) // 独立字段模式
117
+ : internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index); // 数组值模式
116
118
  var values = form.getFieldValue(namePath);
117
119
  var originRow = (namePath === null || namePath === void 0 ? void 0 : namePath.length) ? (0, _cloneDeep2.default)(values) : undefined;
118
120
  onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, args);
@@ -164,9 +166,14 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
164
166
  getValueProps: transform === null || transform === void 0 ? void 0 : transform.getValueProps,
165
167
  fieldProps: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, column === null || column === void 0 ? void 0 : column.fieldProps), reactiveProps === null || reactiveProps === void 0 ? void 0 : reactiveProps.fieldProps), {}, {
166
168
  onChange: handleChange,
167
- onBlur: handleBlur,
169
+ onBlur: handleBlur
170
+ }, names ? {
171
+ value: form.getFieldValue(columnName)
172
+ } // 独立字段模式
173
+ : {
168
174
  value: value === null || value === void 0 ? void 0 : value[index]
169
- })
175
+ } // 数组值模式
176
+ )
170
177
  });
171
178
  });
172
179
  };
@@ -10,8 +10,8 @@ var _tooltip = _interopRequireDefault(require("antd/es/tooltip"));
10
10
  require("antd/es/cascader/style");
11
11
  var _cascader = _interopRequireDefault(require("antd/es/cascader"));
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
- require("antd/es/message/style");
14
- var _message2 = _interopRequireDefault(require("antd/es/message"));
13
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -23,7 +23,6 @@ var _find = _interopRequireDefault(require("lodash/find"));
23
23
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
24
24
  var _jsxRuntime = require("react/jsx-runtime");
25
25
  var _react = require("react");
26
- var _ahooks = require("ahooks");
27
26
  var _index = require("./utils/index");
28
27
  var _ProConfigProvider = require("../../../../ProConfigProvider");
29
28
  var _Input = _interopRequireDefault(require("../../base/Input"));
@@ -65,7 +64,7 @@ var getViewLabel = function getViewLabel(_ref) {
65
64
  return viewLabel;
66
65
  };
67
66
  var ProCascader = function ProCascader(props) {
68
- var _props$otherProps, _useRequest$options3, _value$slice, _ref7, _ref7$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
67
+ var _props$otherProps, _value$slice, _ref5, _ref5$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
69
68
  var _ref2 = (0, _ProConfigProvider.useProConfig)('ProAddressBar') || {},
70
69
  configDetailMaxLength = _ref2.detailMaxLength,
71
70
  configEnumCode = _ref2.enumCode,
@@ -128,6 +127,10 @@ var ProCascader = function ProCascader(props) {
128
127
  }
129
128
  return disabled;
130
129
  }, [disabled]);
130
+ var _useRequest = (0, _objectSpread3.default)({}, useRequest),
131
+ service = _useRequest.service,
132
+ _useRequest$defaultPa = _useRequest.defaultParams,
133
+ defaultParams = _useRequest$defaultPa === void 0 ? {} : _useRequest$defaultPa;
131
134
  var _useState = (0, _react.useState)([]),
132
135
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
133
136
  serviceData = _useState2[0],
@@ -136,104 +139,53 @@ var ProCascader = function ProCascader(props) {
136
139
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
137
140
  defaultLabel = _useState4[0],
138
141
  setDefaultLabel = _useState4[1];
139
- // 默认成功处理函数
140
- var defaultOnSuccessFun = function defaultOnSuccessFun(res) {
141
- var _ref4 = res || {},
142
- _ref4$status = _ref4.status,
143
- status = _ref4$status === void 0 ? 200 : _ref4$status,
144
- msg = _ref4.message,
145
- data = _ref4.data;
146
- if (status !== 200) {
147
- _message2.default.error(msg);
148
- return;
149
- }
150
- var newData = data;
151
- if (transformResponse) {
152
- newData = transformResponse(data);
153
- }
154
- var transFormData = (0, _index.transformDataName)(newData, {
155
- label: fieldNames.label,
156
- value: fieldNames.value,
157
- children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
158
- });
159
- var serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
160
- setServiceData(serviceData);
161
- };
162
- // 数据转换处理
163
- var successTransformDataHandle = (0, _react.useCallback)(function (res) {
164
- if (transformResponse && typeof transformResponse === 'function') {
165
- return transformResponse(res);
166
- }
167
- var _ref5 = res || {},
168
- _ref5$status = _ref5.status,
169
- status = _ref5$status === void 0 ? 200 : _ref5$status,
170
- msg = _ref5.message,
171
- data = _ref5.data;
172
- if (status !== 200) {
173
- _message2.default.error(msg);
174
- return;
175
- }
176
- return data;
177
- }, [transformResponse]);
178
- // 使用ahooks的useRequest
179
- var fetchFunction = (0, _ahooks.useRequest)(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, (0, _objectSpread3.default)((0, _objectSpread3.default)({
180
- manual: true,
181
- debounceWait: 300
182
- }, useRequest === null || useRequest === void 0 ? void 0 : useRequest.options), {}, {
183
- onSuccess: function onSuccess(data) {
184
- var _useRequest$options, _useRequest$options$o, _useRequest$options2;
185
- if (transformResponse && typeof transformResponse === 'function') {
186
- var responseData = transformResponse(data);
187
- var transFormData = (0, _index.transformDataName)(responseData, {
188
- label: fieldNames.label,
189
- value: fieldNames.value,
190
- children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
191
- });
192
- var _serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
193
- setServiceData(_serviceData);
194
- } else {
195
- defaultOnSuccessFun(data);
196
- }
197
- // 执行传入的onSuccess
198
- useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options = useRequest.options) === null || _useRequest$options === void 0 ? void 0 : (_useRequest$options$o = _useRequest$options.onSuccess) === null || _useRequest$options$o === void 0 ? void 0 : _useRequest$options$o.call(_useRequest$options, data, useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options2 = useRequest.options) === null || _useRequest$options2 === void 0 ? void 0 : _useRequest$options2.defaultParams);
199
- }
200
- }));
201
- // 缓存数据处理
202
- var cacheList = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options3 = useRequest.options) === null || _useRequest$options3 === void 0 ? void 0 : _useRequest$options3.cacheKey) ? successTransformDataHandle(fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data) : [];
142
+ var getFirstLevelOptions = /*#__PURE__*/function () {
143
+ var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
144
+ var _yield$service, data, newData, transFormData, serviceData;
145
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
146
+ while (1) switch (_context.prev = _context.next) {
147
+ case 0:
148
+ _context.next = 2;
149
+ return service(defaultParams);
150
+ case 2:
151
+ _yield$service = _context.sent;
152
+ data = _yield$service.data;
153
+ newData = data;
154
+ if (transformResponse) {
155
+ newData = transformResponse(data);
156
+ }
157
+ transFormData = (0, _index.transformDataName)(newData, {
158
+ label: fieldNames.label,
159
+ value: fieldNames.value,
160
+ children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
161
+ });
162
+ serviceData = isAddressMode && realLevel === 2 ? _filterDataSource(transFormData, level, fieldNames) : transFormData;
163
+ setServiceData(serviceData);
164
+ case 9:
165
+ case "end":
166
+ return _context.stop();
167
+ }
168
+ }, _callee);
169
+ }));
170
+ return function getFirstLevelOptions() {
171
+ return _ref4.apply(this, arguments);
172
+ };
173
+ }();
203
174
  // 提取出来默认每次都执行
204
175
  if (transformResponse) {
205
176
  realDataSource = transformResponse(realDataSource);
206
177
  }
207
- // 设置缓存数据
208
- (0, _ahooks.useDeepCompareEffect)(function () {
209
- var _useRequest$options4;
210
- if (!(serviceData === null || serviceData === void 0 ? void 0 : serviceData.length) && (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options4 = useRequest.options) === null || _useRequest$options4 === void 0 ? void 0 : _useRequest$options4.cacheKey)) {
211
- if (cacheList === null || cacheList === void 0 ? void 0 : cacheList.length) {
212
- setServiceData(cacheList);
213
- }
214
- }
215
- }, [fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data]);
216
- // 初始化请求数据
217
- (0, _ahooks.useDeepCompareEffect)(function () {
218
- var _useRequest$options5;
219
- if (!(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service)) {
220
- return;
221
- }
222
- var _ref6 = (useRequest === null || useRequest === void 0 ? void 0 : useRequest.options) || {},
223
- manual = _ref6.manual;
224
- if (manual || (cacheList === null || cacheList === void 0 ? void 0 : cacheList.length)) {
225
- return;
178
+ (0, _react.useEffect)(function () {
179
+ if (service) {
180
+ // 传入useRequest时,初次加载级联第一级数据源
181
+ getFirstLevelOptions();
226
182
  }
227
- // 向后兼容性:优先使用 options.defaultParams,fallback 到 useRequest.defaultParams
228
- var defaultParams = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options5 = useRequest.options) === null || _useRequest$options5 === void 0 ? void 0 : _useRequest$options5.defaultParams) || (useRequest === null || useRequest === void 0 ? void 0 : useRequest.defaultParams);
229
- var params = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
230
- fetchFunction.run(params);
231
- }, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.options]);
183
+ }, [service]);
232
184
  (0, _react.useEffect)(function () {
233
185
  if (realIsView && value) {
234
186
  var _realDataSource;
235
187
  // 传入dataSource + 查看时初始化展示
236
- if (useRequest === null || useRequest === void 0 ? void 0 : useRequest.service) {
188
+ if (service) {
237
189
  setDefaultLabel(getViewLabel({
238
190
  dataSource: serviceData,
239
191
  value: isAddressMode && hasDetail ? value === null || value === void 0 ? void 0 : value.slice(0, realLevel) : value
@@ -272,9 +224,9 @@ var ProCascader = function ProCascader(props) {
272
224
  var addressValue = isAddressMode ? value && ((_value$slice = value.slice(0, realLevel)) === null || _value$slice === void 0 ? void 0 : _value$slice.some(function (item) {
273
225
  return !!item;
274
226
  })) ? value.slice(0, realLevel) : undefined : value;
275
- var viewValue = isAddressMode ? ((_ref7 = [].concat((0, _toConsumableArray2.default)(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref7 === void 0 ? void 0 : (_ref7$filter = _ref7.filter(function (item) {
227
+ var viewValue = isAddressMode ? ((_ref5 = [].concat((0, _toConsumableArray2.default)(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref5 === void 0 ? void 0 : (_ref5$filter = _ref5.filter(function (item) {
276
228
  return !!item;
277
- })) === null || _ref7$filter === void 0 ? void 0 : _ref7$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
229
+ })) === null || _ref5$filter === void 0 ? void 0 : _ref5$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
278
230
  return !!item;
279
231
  })) === null || _defaultLabel$filter === void 0 ? void 0 : _defaultLabel$filter.join(separator)) || '-';
280
232
  var _findSelectedOptions = function findSelectedOptions(options, value) {
@@ -305,8 +257,8 @@ var ProCascader = function ProCascader(props) {
305
257
  return null;
306
258
  };
307
259
  var _selectedOptions = (0, _react.useMemo)(function () {
308
- return _findSelectedOptions((useRequest === null || useRequest === void 0 ? void 0 : useRequest.service) ? serviceData : realDataSource, addressValue);
309
- }, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, serviceData, realDataSource, addressValue]);
260
+ return _findSelectedOptions(service ? serviceData : realDataSource, addressValue);
261
+ }, [service, serviceData, realDataSource, addressValue]);
310
262
  var handleAddressChange = function handleAddressChange(e) {
311
263
  var cascaderValue = value === null || value === void 0 ? void 0 : value.slice(0, realLevel);
312
264
  if (onChange) {
@@ -331,9 +283,8 @@ var ProCascader = function ProCascader(props) {
331
283
  className: hasDetail ? '' : 'no-detail',
332
284
  placeholder: _locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProAddressBar = _locale.default.ProAddressBar) === null || _locale$ProAddressBar === void 0 ? void 0 : _locale$ProAddressBar.placeholder,
333
285
  value: addressValue,
334
- options: (useRequest === null || useRequest === void 0 ? void 0 : useRequest.service) ? serviceData : realDataSource,
286
+ options: service ? serviceData : realDataSource,
335
287
  disabled: lastDisabled[0],
336
- loading: fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.loading,
337
288
  displayRender: displayRender,
338
289
  showSearch: {
339
290
  filter: handlefilter,
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DefaultOptionType } from 'rc-select/lib/Select';
3
- import { Service, Options } from 'ahooks/lib/useRequest/src/types';
3
+ import { Service } from 'ahooks/lib/useRequest/src/types';
4
4
  export interface FieldNamesType {
5
5
  label: string;
6
6
  value: string;
@@ -19,18 +19,10 @@ export interface ProCascaderType {
19
19
  fieldNames?: FieldNamesType;
20
20
  dataSource?: DefaultOptionType[];
21
21
  useRequest?: {
22
- /**
23
- * @description 请求服务函数
24
- */
25
- service?: Service<any, any>;
26
- /**
27
- * @description 请求选项
28
- */
29
- options?: Options<any, any>;
30
- /**
31
- * @deprecated 保留向后兼容性,使用 options.defaultParams 替代
32
- */
22
+ loadData?: boolean;
23
+ service: Service<any, any>;
33
24
  defaultParams?: any;
25
+ parentKey?: string;
34
26
  };
35
27
  onChange?: (value: string[], selectedOptions?: any[]) => void;
36
28
  transformResponse?: (data: any[]) => any[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.13.15-beta.2",
3
+ "version": "3.13.15-beta.4",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",