@cloudbase/weda-ui 3.30.2 → 3.31.1

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 (226) hide show
  1. package/README.md +77 -0
  2. package/dist/configs/components/button.d.ts +4 -5
  3. package/dist/configs/components/calendar.d.ts +1 -1
  4. package/dist/configs/components/chart/bar.d.ts +1 -1
  5. package/dist/configs/components/chart/line.d.ts +1 -1
  6. package/dist/configs/components/chart/pie.d.ts +1 -1
  7. package/dist/configs/components/chart/statisticsCard.d.ts +2 -2
  8. package/dist/configs/components/form-date.d.ts +2 -2
  9. package/dist/configs/components/form-depart-tree-select.d.ts +2 -2
  10. package/dist/configs/components/form-email.d.ts +2 -2
  11. package/dist/configs/components/form-image-uploader.d.ts +2 -2
  12. package/dist/configs/components/form-input.d.ts +4 -4
  13. package/dist/configs/components/form-location.d.ts +6 -6
  14. package/dist/configs/components/form-multi-region.d.ts +2 -2
  15. package/dist/configs/components/form-phone.d.ts +2 -2
  16. package/dist/configs/components/form-region.d.ts +2 -2
  17. package/dist/configs/components/form-select-multiple.d.ts +2 -2
  18. package/dist/configs/components/form-select.d.ts +2 -2
  19. package/dist/configs/components/form-text-area.d.ts +2 -2
  20. package/dist/configs/components/form-time.d.ts +2 -2
  21. package/dist/configs/components/form-url.d.ts +2 -2
  22. package/dist/configs/components/form-user-tree-select.d.ts +2 -2
  23. package/dist/configs/components/grid/col.d.ts +6 -6
  24. package/dist/configs/components/grid/row.d.ts +4 -4
  25. package/dist/configs/components/image.d.ts +4 -4
  26. package/dist/configs/components/link.d.ts +0 -1
  27. package/dist/configs/components/modal.d.ts +0 -1
  28. package/dist/configs/components/qr_code.d.ts +1 -1
  29. package/dist/configs/components/swiper.d.ts +2 -0
  30. package/dist/configs/components/swiper.js +25 -6
  31. package/dist/configs/components/tabs.d.ts +0 -1
  32. package/dist/configs/components/wd-bubble.d.ts +6 -7
  33. package/dist/configs/components/wd-button.d.ts +1 -1
  34. package/dist/configs/components/wd-calendar.d.ts +1 -1
  35. package/dist/configs/components/wd-canvas.d.ts +1 -1
  36. package/dist/configs/components/wd-card.d.ts +0 -1
  37. package/dist/configs/components/wd-cascader.d.ts +9 -9
  38. package/dist/configs/components/wd-checkbox.d.ts +3 -3
  39. package/dist/configs/components/wd-code-editor.d.ts +3 -3
  40. package/dist/configs/components/wd-date-range.d.ts +8 -8
  41. package/dist/configs/components/wd-date.d.ts +8 -8
  42. package/dist/configs/components/wd-department.d.ts +11 -11
  43. package/dist/configs/components/wd-drawer.d.ts +0 -1
  44. package/dist/configs/components/wd-form-arr.d.ts +3 -3
  45. package/dist/configs/components/wd-form-detail.d.ts +2 -2
  46. package/dist/configs/components/wd-form-obj.d.ts +3 -3
  47. package/dist/configs/components/wd-form.d.ts +6 -7
  48. package/dist/configs/components/wd-icon.d.ts +2 -2
  49. package/dist/configs/components/wd-image.d.ts +4 -4
  50. package/dist/configs/components/wd-input-email.d.ts +35 -35
  51. package/dist/configs/components/wd-input-number.d.ts +10 -10
  52. package/dist/configs/components/wd-input-phone.d.ts +37 -35
  53. package/dist/configs/components/wd-input-phone.js +22 -3
  54. package/dist/configs/components/wd-input-url.d.ts +35 -35
  55. package/dist/configs/components/wd-input.d.ts +5 -5
  56. package/dist/configs/components/wd-layout.d.ts +0 -1
  57. package/dist/configs/components/wd-link.d.ts +0 -1
  58. package/dist/configs/components/wd-location.d.ts +5 -5
  59. package/dist/configs/components/wd-member.d.ts +13 -13
  60. package/dist/configs/components/wd-menu-layout.d.ts +6 -7
  61. package/dist/configs/components/wd-modal.d.ts +0 -1
  62. package/dist/configs/components/wd-progress.d.ts +6 -7
  63. package/dist/configs/components/wd-radio.d.ts +3 -3
  64. package/dist/configs/components/wd-rating.d.ts +6 -6
  65. package/dist/configs/components/wd-region.d.ts +9 -9
  66. package/dist/configs/components/wd-rich-text.d.ts +3 -3
  67. package/dist/configs/components/wd-select-multiple.d.ts +10 -10
  68. package/dist/configs/components/wd-select.d.ts +9 -9
  69. package/dist/configs/components/wd-side-tab.d.ts +1 -2
  70. package/dist/configs/components/wd-switch.d.ts +6 -6
  71. package/dist/configs/components/wd-table.d.ts +9 -10
  72. package/dist/configs/components/wd-tag-select.d.ts +7 -7
  73. package/dist/configs/components/wd-text.d.ts +3 -3
  74. package/dist/configs/components/wd-textarea.d.ts +3 -3
  75. package/dist/configs/components/wd-time.d.ts +8 -8
  76. package/dist/configs/components/wd-top-tab.d.ts +1 -2
  77. package/dist/configs/components/wd-tree.d.ts +0 -1
  78. package/dist/configs/components/wd-upload-file.d.ts +5 -5
  79. package/dist/configs/components/wd-upload-image.d.ts +13 -13
  80. package/dist/configs/components/wedaVideo.d.ts +2 -2
  81. package/dist/configs/components/wxOpenApi/phone.d.ts +2 -2
  82. package/dist/configs/components/wxOpenApi/phoneCode.d.ts +1 -1
  83. package/dist/configs/components/wxOpenApi/share.d.ts +2 -2
  84. package/dist/configs/components/wxOpenApi/userInfo.d.ts +4 -4
  85. package/dist/configs/index.d.ts +532 -529
  86. package/dist/configs/type-utils/index.d.ts +1 -1
  87. package/dist/configs/type-utils/type-form.js +2 -2
  88. package/dist/style/index.css +4 -0
  89. package/dist/style/index.scss +1 -1
  90. package/dist/style/weda-ui.min.css +2 -2
  91. package/dist/web/components/chart/common/chart-custom-connector.d.ts +0 -1
  92. package/dist/web/components/flow/common/hooks/useFlowConfig.d.ts +0 -1
  93. package/dist/web/components/flow/modules/basic/Basic.d.ts +0 -1
  94. package/dist/web/components/flow/modules/basic/BasicMobile.d.ts +0 -1
  95. package/dist/web/components/flow/modules/combination/index.d.ts +0 -1
  96. package/dist/web/components/flow/modules/operations/control.d.ts +0 -1
  97. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.d.ts +0 -1
  98. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.d.ts +0 -1
  99. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal.d.ts +0 -1
  100. package/dist/web/components/flow/modules/operations/controls-items/index.d.ts +0 -1
  101. package/dist/web/components/flow/modules/operations/view-model.d.ts +0 -1
  102. package/dist/web/components/flow/process/constants.d.ts +3 -3
  103. package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -1
  104. package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -1
  105. package/dist/web/components/form/select/h5.d.ts +1 -1
  106. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +2 -2
  107. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.d.ts +0 -1
  108. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.d.ts +0 -1
  109. package/dist/web/components/form/userOrgSelect/component/error-tips.d.ts +0 -1
  110. package/dist/web/components/form/userOrgSelect/component/input-tags.d.ts +0 -1
  111. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.d.ts +0 -1
  112. package/dist/web/components/form/userOrgSelect/component/modal-search.d.ts +0 -1
  113. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.d.ts +0 -1
  114. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.d.ts +0 -1
  115. package/dist/web/components/form/userOrgSelect/component/org-tree.d.ts +0 -1
  116. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.d.ts +0 -1
  117. package/dist/web/components/form/userOrgSelect/component/selected-list.d.ts +0 -1
  118. package/dist/web/components/form/userOrgSelect/component/user-org-list.d.ts +0 -1
  119. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.d.ts +0 -1
  120. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.d.ts +0 -1
  121. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.d.ts +0 -1
  122. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.d.ts +0 -1
  123. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.d.ts +0 -1
  124. package/dist/web/components/form-date/index.d.ts +9 -9
  125. package/dist/web/components/form-depart-tree-select/index.d.ts +9 -9
  126. package/dist/web/components/form-email/index.d.ts +7 -7
  127. package/dist/web/components/form-image-uploader/index.d.ts +9 -9
  128. package/dist/web/components/form-input/index.d.ts +14 -14
  129. package/dist/web/components/form-input-hooks/index.d.ts +1 -1
  130. package/dist/web/components/form-location/index.d.ts +13 -13
  131. package/dist/web/components/form-multi-region/index.d.ts +7 -7
  132. package/dist/web/components/form-phone/index.d.ts +7 -7
  133. package/dist/web/components/form-radio/index.d.ts +7 -7
  134. package/dist/web/components/form-region/index.d.ts +7 -7
  135. package/dist/web/components/form-rich-text/index.d.ts +5 -5
  136. package/dist/web/components/form-select/index.d.ts +12 -12
  137. package/dist/web/components/form-select-multiple/index.d.ts +11 -11
  138. package/dist/web/components/form-switch/index.d.ts +4 -4
  139. package/dist/web/components/form-text-area/index.d.ts +8 -8
  140. package/dist/web/components/form-time/index.d.ts +8 -8
  141. package/dist/web/components/form-upload-file/index.d.ts +10 -10
  142. package/dist/web/components/form-url/index.d.ts +7 -7
  143. package/dist/web/components/form-user-tree-select/index.d.ts +10 -10
  144. package/dist/web/components/grid/col.d.ts +2 -2
  145. package/dist/web/components/grid/row.d.ts +1 -1
  146. package/dist/web/components/lottery/index.d.ts +2 -2
  147. package/dist/web/components/pageLayout/PageContent/index.d.ts +0 -1
  148. package/dist/web/components/phone/index.d.ts +0 -1
  149. package/dist/web/components/phoneCode/index.d.ts +0 -1
  150. package/dist/web/components/share/index.d.ts +0 -1
  151. package/dist/web/components/swiper/index.d.ts +1 -1
  152. package/dist/web/components/swiper/index.js +35 -16
  153. package/dist/web/components/table/BaseTable.d.ts +0 -1
  154. package/dist/web/components/table/FieldRender.d.ts +1 -2
  155. package/dist/web/components/table/FilterFields.d.ts +0 -1
  156. package/dist/web/components/table/Form/Enum.d.ts +0 -1
  157. package/dist/web/components/table/Form/Location.d.ts +0 -1
  158. package/dist/web/components/table/QuoteModal.d.ts +0 -1
  159. package/dist/web/components/table/UserDepartment/ViewCell.d.ts +0 -1
  160. package/dist/web/components/table/UserDepartment/utils.d.ts +0 -1
  161. package/dist/web/components/userInfo/index.d.ts +0 -1
  162. package/dist/web/components/wd-calendar/MonthSelect.d.ts +0 -1
  163. package/dist/web/components/wd-code-editor/lang/index.d.ts +1 -1
  164. package/dist/web/components/wd-config-provider/wd-config-context.d.ts +1 -1
  165. package/dist/web/components/wd-date/elements/interface.d.ts +1 -1
  166. package/dist/web/components/wd-department/_design/wd-department-select.d.ts +0 -1
  167. package/dist/web/components/wd-form/hooks/use-auth-value.d.ts +1 -0
  168. package/dist/web/components/wd-form/hooks/use-auth-value.js +3 -1
  169. package/dist/web/components/wd-form/hooks/use-remote-value.js +39 -8
  170. package/dist/web/components/wd-form/index.js +35 -1
  171. package/dist/web/components/wd-form/wd-form.d.ts +0 -1
  172. package/dist/web/components/wd-form-cell/wd-form-cell.d.ts +0 -1
  173. package/dist/web/components/wd-form-item/wd-input-group.d.ts +0 -1
  174. package/dist/web/components/wd-form-item/wd-input-wrap.d.ts +0 -1
  175. package/dist/web/components/wd-image/ImagePreview.d.ts +0 -1
  176. package/dist/web/components/wd-input/wd-input.d.ts +23 -23
  177. package/dist/web/components/wd-input-email/wd-input-email.d.ts +15 -15
  178. package/dist/web/components/wd-input-group/wd-input-group.d.ts +0 -1
  179. package/dist/web/components/wd-input-phone/wd-input-phone.d.ts +23 -23
  180. package/dist/web/components/wd-input-url/wd-input-url.d.ts +15 -15
  181. package/dist/web/components/wd-layout/wd-layout.d.ts +0 -1
  182. package/dist/web/components/wd-location/_design/wd-location.d.ts +0 -1
  183. package/dist/web/components/wd-member/_design/wd-member-select.d.ts +0 -1
  184. package/dist/web/components/wd-radio/wd-radio.d.ts +0 -1
  185. package/dist/web/components/wd-region/_design/wd-region.d.ts +0 -1
  186. package/dist/web/components/wd-retry/wd-retry.d.ts +0 -1
  187. package/dist/web/components/wd-select/_design/wd-select.d.ts +0 -1
  188. package/dist/web/components/wd-select/hooks/useChooseList.d.ts +1 -1
  189. package/dist/web/components/wd-select/relationSelect/relationalSetting.d.ts +0 -1
  190. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.d.ts +0 -1
  191. package/dist/web/components/wd-table/components/FieldRender/Form/Enum.d.ts +0 -1
  192. package/dist/web/components/wd-table/components/FieldRender/Form/Location.d.ts +0 -1
  193. package/dist/web/components/wd-table/components/FieldRender/ImagePreview.d.ts +0 -1
  194. package/dist/web/components/wd-table/components/FieldRender/QuoteModal.d.ts +0 -1
  195. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.d.ts +0 -1
  196. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.d.ts +0 -1
  197. package/dist/web/components/wd-table/components/FieldRender/index.d.ts +3 -2
  198. package/dist/web/components/wd-table/components/FieldRender/index.js +6 -3
  199. package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.d.ts +0 -1
  200. package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.d.ts +0 -1
  201. package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.d.ts +0 -1
  202. package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.d.ts +0 -1
  203. package/dist/web/components/wd-table/components/FilterFieldsPanel/filterFieldsGenerate.js +24 -1
  204. package/dist/web/components/wd-table/components/FilterFieldsPanel/index.js +187 -168
  205. package/dist/web/components/wd-table/components/ImportFileModalByApi/index.d.ts +0 -1
  206. package/dist/web/components/wd-table/components/InOrOutRecordModal.d.ts +0 -1
  207. package/dist/web/components/wd-table/components/Pagination/index.d.ts +0 -1
  208. package/dist/web/components/wd-table/components/SearchBox/index.d.ts +0 -1
  209. package/dist/web/components/wd-table/hooks/useAuthFields.d.ts +1 -0
  210. package/dist/web/components/wd-table/hooks/useAuthFields.js +12 -4
  211. package/dist/web/components/wd-table/hooks/useTableData.js +4 -4
  212. package/dist/web/components/wd-table/wd-table.js +3 -1
  213. package/dist/web/components/wd-tabs/tabs-h5.d.ts +0 -1
  214. package/dist/web/components/wd-tabs/tabs-pc.d.ts +0 -1
  215. package/dist/web/components/wd-tabs/tabs.d.ts +0 -1
  216. package/dist/web/components/wd-tag/_design.d.ts +0 -1
  217. package/dist/web/components/wd-tree/utils.d.ts +19 -19
  218. package/dist/web/components/wd-upload-file/_design/wd-upload-file.d.ts +0 -1
  219. package/dist/web/components/wd-upload-image/_design/wd-upload-image.d.ts +0 -1
  220. package/dist/web/utils/config-context/use-config.d.ts +1 -1
  221. package/dist/web/utils/datasource.d.ts +1 -0
  222. package/dist/web/utils/datasource.js +13 -25
  223. package/dist/web/utils/getPageQuery.d.ts +0 -1
  224. package/dist/web/utils/i18n/locale/en_US.d.ts +0 -1
  225. package/dist/web/utils/i18n/locale/zh_CN.d.ts +0 -1
  226. package/package.json +8 -4
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState, useEffect, forwardRef } from 'react';
2
+ import { useState, useEffect, forwardRef, useRef, useCallback, useMemo } from 'react';
3
3
  import { Row, Col, ConfigProvider, Drawer } from 'tea-component';
4
4
  import { dateCalculation } from '../../../../utils/date';
5
- import isObjectEqual from '../../../../utils/isObjectEqual';
6
5
  import { useConfig } from '../../../../utils/config-context';
7
6
  import { FilterFieldItem } from './FilterFieldItem';
8
7
  import { arrayInputType } from './Fields';
@@ -14,6 +13,8 @@ import { useSetWidgetApi } from '../../../../utils/widget-api/use-set-widget-api
14
13
  const escapeRegExp = (string) => {
15
14
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
16
15
  };
16
+ // 提升静态 JSX 到组件外部,避免每次渲染重新创建
17
+ const HiddenSubmitInput = _jsx("input", { type: "submit", style: { display: 'none' } });
17
18
  const getFilterConfig = (data) => data.map(({ name, label, value, fieldCalculationOption = [], fieldCalculation }) => ({
18
19
  name,
19
20
  label,
@@ -21,6 +22,96 @@ const getFilterConfig = (data) => data.map(({ name, label, value, fieldCalculati
21
22
  filterType: fieldCalculation === null || fieldCalculation === void 0 ? void 0 : fieldCalculation.value,
22
23
  filterTypeOption: fieldCalculationOption === null || fieldCalculationOption === void 0 ? void 0 : fieldCalculationOption.map((i) => i === null || i === void 0 ? void 0 : i.value),
23
24
  }));
25
+ // 处理 scope 类型的筛选条件
26
+ const handleScopeFilter = (item, searchValues) => {
27
+ if (item.filterType === 'number') {
28
+ if (item.value[0]) {
29
+ searchValues.push({ key: item.name, val: Number(item.value[0]), rel: 'gte' });
30
+ }
31
+ if (item.value[1]) {
32
+ searchValues.push({ key: item.name, val: Number(item.value[1]), rel: 'lte' });
33
+ }
34
+ }
35
+ else {
36
+ searchValues.push({ key: item.name, val: item.value[0], rel: 'gte' });
37
+ // @ts-ignore 兼容字符串和数字
38
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
39
+ searchValues.push({ key: item.name, val: item.value[1] + 999, rel: 'lte' });
40
+ }
41
+ };
42
+ // 处理字符串类型的默认筛选条件
43
+ const handleStringFilter = (item, searchValues) => {
44
+ var _a, _b;
45
+ const searchItem = { key: item.name, val: item.value, rel: item.fieldCalculation.value };
46
+ if (arrayInputType.includes(item.fieldCalculation.value) && ((_a = searchItem === null || searchItem === void 0 ? void 0 : searchItem.val) === null || _a === void 0 ? void 0 : _a.length)) {
47
+ searchValues.push(searchItem);
48
+ }
49
+ else {
50
+ searchItem.val = (_b = textToString(item.value)) === null || _b === void 0 ? void 0 : _b.trim();
51
+ searchValues.push(searchItem);
52
+ }
53
+ };
54
+ // 处理默认筛选条件
55
+ const handleDefaultFilter = (item, searchValues) => {
56
+ const searchItem = { key: item.name, val: item.value, rel: item.fieldCalculation.value };
57
+ if (item.filterType === 'string') {
58
+ handleStringFilter(item, searchValues);
59
+ }
60
+ else if (item.filterType === 'number') {
61
+ searchItem.val = Number(item.value);
62
+ searchValues.push(searchItem);
63
+ }
64
+ else if (['date', 'datetime', 'time'].includes(item.filterType)) {
65
+ searchItem.val = item.value;
66
+ dateCalculation(searchItem, item.filterType).forEach((calcItem) => {
67
+ searchValues.push(calcItem);
68
+ });
69
+ }
70
+ else {
71
+ searchValues.push(searchItem);
72
+ }
73
+ };
74
+ // 处理单个筛选项
75
+ const processFilterItem = (item, searchValues) => {
76
+ var _a, _b;
77
+ switch (item.fieldCalculation.value) {
78
+ case 'scope':
79
+ handleScopeFilter(item, searchValues);
80
+ break;
81
+ case 'exclude':
82
+ searchValues.push({
83
+ key: item.name,
84
+ val: `^((?!${item.filterType === 'string' ? escapeRegExp(item.value) : item.value}).)*$`,
85
+ rel: 'regex',
86
+ });
87
+ break;
88
+ case 'startWith':
89
+ searchValues.push({ key: item.name, val: `^${(_a = item.value) === null || _a === void 0 ? void 0 : _a.trim()}`, rel: 'regex' });
90
+ break;
91
+ case 'regex':
92
+ searchValues.push({ key: item.name, val: `^${escapeRegExp(item.value)}`, rel: item.fieldCalculation.value });
93
+ break;
94
+ case 'nsearch_ci':
95
+ if (item.filterType === 'string') {
96
+ if (Array.isArray(item.value) && item.value.length) {
97
+ searchValues.push({ key: item.name, val: item.value, rel: item.fieldCalculation.value });
98
+ }
99
+ else if (item.value) {
100
+ searchValues.push({
101
+ key: item.name,
102
+ val: (_b = textToString(item.value)) === null || _b === void 0 ? void 0 : _b.trim(),
103
+ rel: item.fieldCalculation.value,
104
+ });
105
+ }
106
+ }
107
+ else {
108
+ searchValues.push({ key: item.name, val: `${escapeRegExp(item.value)}`, rel: item.fieldCalculation.value });
109
+ }
110
+ break;
111
+ default:
112
+ handleDefaultFilter(item, searchValues);
113
+ }
114
+ };
24
115
  // 筛选表单
25
116
  export const FilterFieldsPanel = forwardRef(function Comp(props, ref) {
26
117
  const { filterFields, fetchData, openMobileFilter, setOpenMobileFilter, setFilterConfig, supportManyRelated } = props;
@@ -31,158 +122,86 @@ export const FilterFieldsPanel = forwardRef(function Comp(props, ref) {
31
122
  const [collapse, setCollapse] = useState(true);
32
123
  const [initFilterData, setInitFilterData] = useState([]);
33
124
  const [filterData, setFilterData] = useState([]);
34
- const updateFilterData = (filterFieldItemConfig) => {
35
- const newData = filterData.map((i) => (i.id === filterFieldItemConfig.id ? filterFieldItemConfig : i));
36
- setFilterData(newData);
37
- setFilterConfig(getFilterConfig(newData));
38
- };
39
- useEffect(() => {
40
- var _a;
41
- const result = filterFieldsGenerate(filterFields);
42
- // 筛选字段改变,重新初始化筛选面板
43
- if (!isObjectEqual(result, initFilterData)) {
44
- const initFilterData = JSON.parse(JSON.stringify(result));
45
- setInitFilterData(initFilterData);
46
- setFilterData(initFilterData);
47
- setFilterConfig(getFilterConfig(initFilterData));
48
- // 如果配置有值则执行查询
49
- if (initFilterData.some((i) => i.value)) {
50
- searchHandle(initFilterData);
51
- }
52
- // 如果折叠的查询条件中有值,则展开面板
53
- if ((_a = initFilterData === null || initFilterData === void 0 ? void 0 : initFilterData.filter((i, index) => index >= maxlength)) === null || _a === void 0 ? void 0 : _a.some((j) => j.value)) {
54
- setCollapse(false);
55
- }
56
- }
57
- // eslint-disable-next-line react-hooks/exhaustive-deps
58
- }, [filterFields]);
59
- const searchHandle = (searchData = filterData) => {
60
- let searchValues = [];
61
- const filterValues = searchData.filter((i) => {
62
- if (Array.isArray(i.value) && i.filterType === 'number' && i.fieldCalculation.value === 'scope') {
63
- // 若筛选字段为number类型,且为范围选择时,只要有一个值则返回
64
- return i.value[0] || i.value[1];
65
- }
66
- return i.value !== null && i.value !== undefined && i.value !== '';
125
+ // 使用 useRef 追踪上一次的 filterFields,避免死循环
126
+ const prevFilterFieldsRef = useRef('');
127
+ // 使用 useCallback + 函数式 setState,保持回调稳定,避免子组件不必要的重渲染
128
+ const updateFilterData = useCallback((filterFieldItemConfig) => {
129
+ setFilterData((prevData) => {
130
+ const newData = prevData.map((i) => (i.id === filterFieldItemConfig.id ? filterFieldItemConfig : i));
131
+ setFilterConfig(getFilterConfig(newData));
132
+ return newData;
67
133
  });
68
- // 为空不为空筛选条件
69
- searchData.forEach((i) => {
70
- var _a, _b;
71
- if (['$empty', '$nempty'].includes((_a = i === null || i === void 0 ? void 0 : i.fieldCalculation) === null || _a === void 0 ? void 0 : _a.value)) {
72
- const $and = searchValues.find((i) => i.$and);
73
- if ($and) {
74
- searchValues = searchValues.map((n) => {
75
- var _a;
76
- if (n.$and) {
77
- return {
78
- $and: [...n.$and, { [i.name]: { [(_a = i === null || i === void 0 ? void 0 : i.fieldCalculation) === null || _a === void 0 ? void 0 : _a.value]: '1' } }],
79
- };
80
- }
81
- return n;
82
- });
83
- }
84
- else {
85
- searchValues.push({
86
- $and: [{ [i.name]: { [(_b = i === null || i === void 0 ? void 0 : i.fieldCalculation) === null || _b === void 0 ? void 0 : _b.value]: '1' } }],
87
- });
88
- }
134
+ }, [setFilterConfig]);
135
+ // searchHandle 使用 useCallback 优化,合并多次遍历为单次遍历
136
+ const searchHandle = useCallback((searchData) => {
137
+ var _a, _b, _c;
138
+ // 确保 searchData 是数组,防止事件对象被误传入
139
+ const data = Array.isArray(searchData) ? searchData : filterData;
140
+ let searchValues = [];
141
+ const andConditions = [];
142
+ const filterValues = [];
143
+ // 单次遍历处理所有逻辑,避免多次 filter/forEach
144
+ for (const item of data) {
145
+ // 处理空/非空筛选条件
146
+ if (['$empty', '$nempty'].includes((_a = item === null || item === void 0 ? void 0 : item.fieldCalculation) === null || _a === void 0 ? void 0 : _a.value)) {
147
+ andConditions.push({ [item.name]: { [(_b = item === null || item === void 0 ? void 0 : item.fieldCalculation) === null || _b === void 0 ? void 0 : _b.value]: '1' } });
148
+ continue;
89
149
  }
90
- });
91
- // 值筛选条件
92
- filterValues.forEach((i) => {
93
- var _a, _b, _c;
94
- switch (i.fieldCalculation.value) {
95
- case 'scope':
96
- if (i.filterType === 'number') {
97
- if (i.value[0]) {
98
- searchValues.push({
99
- key: i.name,
100
- val: Number(i.value[0]),
101
- rel: 'gte',
102
- });
103
- }
104
- if (i.value[1]) {
105
- searchValues.push({
106
- key: i.name,
107
- val: Number(i.value[1]),
108
- rel: 'lte',
109
- });
110
- }
111
- }
112
- else {
113
- searchValues.push({
114
- key: i.name,
115
- val: i.value[0],
116
- rel: 'gte',
117
- });
118
- searchValues.push({
119
- key: i.name,
120
- // @ts-ignore 兼容字符串和数字
121
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
122
- val: i.value[1] + 999,
123
- rel: 'lte',
124
- });
125
- }
126
- break;
127
- case 'exclude':
128
- searchValues.push({
129
- key: i.name,
130
- val: `^((?!${i.filterType === 'string' ? escapeRegExp(i.value) : i.value}).)*$`,
131
- rel: 'regex',
132
- });
133
- break;
134
- case 'startWith':
135
- searchValues.push({ key: i.name, val: `^${(_a = i.value) === null || _a === void 0 ? void 0 : _a.trim()}`, rel: 'regex' });
136
- break;
137
- case 'regex':
138
- searchValues.push({ key: i.name, val: `^${escapeRegExp(i.value)}`, rel: i.fieldCalculation.value });
139
- break;
140
- case 'nsearch_ci':
141
- searchValues.push({ key: i.name, val: `${escapeRegExp(i.value)}`, rel: i.fieldCalculation.value });
142
- break;
143
- default: {
144
- const searchItem = {
145
- key: i.name,
146
- val: i.value,
147
- rel: i.fieldCalculation.value,
148
- };
149
- if (i.filterType === 'string') {
150
- if (arrayInputType.includes(i.fieldCalculation.value) && ((_b = searchItem === null || searchItem === void 0 ? void 0 : searchItem.val) === null || _b === void 0 ? void 0 : _b.length)) {
151
- searchValues.push(searchItem);
152
- }
153
- else {
154
- searchItem.val = (_c = textToString(i.value)) === null || _c === void 0 ? void 0 : _c.trim();
155
- searchValues.push(searchItem);
156
- }
157
- }
158
- else if (i.filterType === 'number') {
159
- searchItem.val = Number(i.value);
160
- searchValues.push(searchItem);
161
- }
162
- else if (['date', 'datetime', 'time'].includes(i.filterType)) {
163
- searchItem.val = i.value;
164
- dateCalculation(searchItem, i.filterType).forEach((i) => {
165
- searchValues.push(i);
166
- });
167
- }
168
- else {
169
- searchValues.push(searchItem);
170
- }
171
- }
150
+ // 判断是否有值
151
+ const hasValue = Array.isArray(item.value) && item.filterType === 'number' && ((_c = item.fieldCalculation) === null || _c === void 0 ? void 0 : _c.value) === 'scope'
152
+ ? item.value[0] || item.value[1]
153
+ : item.value !== null && item.value !== undefined && item.value !== '';
154
+ if (hasValue) {
155
+ filterValues.push(item);
172
156
  }
173
- });
174
- searchValues = searchValues.map((i) => {
157
+ }
158
+ // 添加 $and 条件
159
+ if (andConditions.length) {
160
+ searchValues.push({ $and: andConditions });
161
+ }
162
+ // 值筛选条件 - 使用提取的处理函数
163
+ for (const item of filterValues) {
164
+ processFilterItem(item, searchValues);
165
+ }
166
+ // 添加 format 字段
167
+ searchValues = searchValues.map((item) => {
175
168
  var _a;
176
- const format = (_a = filterValues.find((j) => j.name === i.key)) === null || _a === void 0 ? void 0 : _a.filterType;
177
- return { ...i, format };
169
+ const format = (_a = filterValues.find((j) => j.name === item.key)) === null || _a === void 0 ? void 0 : _a.filterType;
170
+ return { ...item, format };
178
171
  });
179
172
  fetchData(searchValues);
180
- };
181
- const onFormSubmit = (e) => {
173
+ }, [filterData, fetchData]);
174
+ // 初始化 useEffect
175
+ useEffect(() => {
176
+ var _a;
177
+ // 序列化当前 filterFields 用于比较
178
+ const currentFilterFieldsStr = JSON.stringify(filterFields);
179
+ // 如果和上一次相同,跳过处理
180
+ if (currentFilterFieldsStr === prevFilterFieldsRef.current) {
181
+ return;
182
+ }
183
+ const result = filterFieldsGenerate(filterFields);
184
+ const newFilterData = JSON.parse(JSON.stringify(result));
185
+ // 更新 ref 记录当前值
186
+ prevFilterFieldsRef.current = currentFilterFieldsStr;
187
+ setInitFilterData(newFilterData);
188
+ setFilterData(newFilterData);
189
+ setFilterConfig(getFilterConfig(newFilterData));
190
+ // 如果配置有值则执行查询
191
+ if (newFilterData.some((i) => i.value)) {
192
+ searchHandle(newFilterData);
193
+ }
194
+ // 如果折叠的查询条件中有值,则展开面板
195
+ if ((_a = newFilterData === null || newFilterData === void 0 ? void 0 : newFilterData.filter((i, index) => index >= maxlength)) === null || _a === void 0 ? void 0 : _a.some((j) => j.value)) {
196
+ setCollapse(false);
197
+ }
198
+ // eslint-disable-next-line react-hooks/exhaustive-deps
199
+ }, [filterFields]);
200
+ const onFormSubmit = useCallback((e) => {
182
201
  e.preventDefault();
183
202
  searchHandle();
184
- };
185
- const resetFilter = () => {
203
+ }, [searchHandle]);
204
+ const resetFilter = useCallback(() => {
186
205
  const result = initFilterData.map((i) => ({ ...i, value: '' }));
187
206
  setFilterData(result);
188
207
  setFilterConfig(getFilterConfig(result));
@@ -190,29 +209,29 @@ export const FilterFieldsPanel = forwardRef(function Comp(props, ref) {
190
209
  if (isH5) {
191
210
  setOpenMobileFilter(false);
192
211
  }
193
- };
212
+ }, [initFilterData, setFilterConfig, fetchData, isH5, setOpenMobileFilter]);
213
+ // Memo 化事件对象,避免每次渲染创建新对象导致子组件重渲染
214
+ const resetEvents = useMemo(() => ({ tap: resetFilter }), [resetFilter]);
215
+ const searchEvents = useMemo(() => ({ tap: searchHandle }), [searchHandle]);
216
+ const toggleCollapseHandler = useCallback(() => {
217
+ setCollapse((prev) => !prev);
218
+ }, []);
219
+ const toggleCollapseEvents = useMemo(() => ({
220
+ tap: toggleCollapseHandler,
221
+ }), [toggleCollapseHandler]);
222
+ const mobileSearchHandler = useCallback(() => {
223
+ searchHandle();
224
+ setOpenMobileFilter(false);
225
+ }, [searchHandle, setOpenMobileFilter]);
226
+ const mobileSearchEvents = useMemo(() => ({
227
+ tap: mobileSearchHandler,
228
+ }), [mobileSearchHandler]);
229
+ const drawerCloseHandler = useCallback(() => {
230
+ setOpenMobileFilter(false);
231
+ }, [setOpenMobileFilter]);
194
232
  // eslint-disable-next-line react-hooks/exhaustive-deps
195
233
  useSetWidgetApi(() => ({ resetFilter }), [initFilterData], ref);
196
- return (_jsxs(ConfigProvider, { classPrefix: "wedatea2td", children: [isH5 && (_jsx(Drawer, { className: `${classPrefix}-table-mobile-filter-drawer ${classPrefix}-table-wrap-filter ${classPrefix}-h5-table-wrap-filter`, title: "\u7B5B\u9009\u5668", visible: isH5 && openMobileFilter, onClose: () => {
197
- setOpenMobileFilter(false);
198
- }, children: _jsxs("div", { children: [_jsx("div", { className: `${classPrefix}-table-wrap-filter__body`, children: filterData === null || filterData === void 0 ? void 0 : filterData.map((i) => (_jsx(FilterFieldItem, { ...i, updateFilterData: updateFilterData, fields: filterFields, supportManyRelated: supportManyRelated }, i.id))) }), _jsx("div", { className: `${classPrefix}-table-wrap-filter__footer`, children: _jsxs("div", { className: `${classPrefix}-table-wrap-filter__btn`, children: [_jsx("div", { className: `${classPrefix}-table-wrap-filter__btn-item`, children: _jsx(WdButton, { theme: "primary", variant: "outline", size: "lg", text: "\u91CD\u7F6E", events: {
199
- tap: resetFilter,
200
- } }) }), _jsx("div", { className: `${classPrefix}-table-wrap-filter__btn-item`, children: _jsx(WdButton, { theme: "primary", size: "lg", text: "\u786E\u5B9A", events: {
201
- tap: () => {
202
- searchHandle();
203
- setOpenMobileFilter(false);
204
- },
205
- } }) })] }) })] }) })), !isH5 && !!filterData.length && (_jsx("form", { className: `${classPrefix}-table-wrap-filter`, onSubmit: onFormSubmit, "data-testid": "filter-form", children: _jsxs(Row, { gap: 20, verticalAlign: 'top', style: { justifyContent: 'space-between' }, children: [_jsx(_Fragment, { children: filterData === null || filterData === void 0 ? void 0 : filterData.map((i, index) => (_jsx(Col, { span: 6, style: {
234
+ return (_jsxs(ConfigProvider, { classPrefix: "wedatea2td", children: [isH5 && (_jsx(Drawer, { className: `${classPrefix}-table-mobile-filter-drawer ${classPrefix}-table-wrap-filter ${classPrefix}-h5-table-wrap-filter`, title: "\u7B5B\u9009\u5668", visible: isH5 && openMobileFilter, onClose: drawerCloseHandler, children: _jsxs("div", { children: [_jsx("div", { className: `${classPrefix}-table-wrap-filter__body`, children: filterData === null || filterData === void 0 ? void 0 : filterData.map((i) => (_jsx(FilterFieldItem, { ...i, updateFilterData: updateFilterData, fields: filterFields, supportManyRelated: supportManyRelated }, i.id))) }), _jsx("div", { className: `${classPrefix}-table-wrap-filter__footer`, children: _jsxs("div", { className: `${classPrefix}-table-wrap-filter__btn`, children: [_jsx("div", { className: `${classPrefix}-table-wrap-filter__btn-item`, children: _jsx(WdButton, { theme: "primary", variant: "outline", size: "lg", text: "\u91CD\u7F6E", events: resetEvents }) }), _jsx("div", { className: `${classPrefix}-table-wrap-filter__btn-item`, children: _jsx(WdButton, { theme: "primary", size: "lg", text: "\u786E\u5B9A", events: mobileSearchEvents }) })] }) })] }) })), !isH5 && !!filterData.length && (_jsx("form", { className: `${classPrefix}-table-wrap-filter`, onSubmit: onFormSubmit, "data-testid": "filter-form", children: _jsxs(Row, { gap: 20, verticalAlign: 'top', style: { justifyContent: 'space-between' }, children: [_jsx(_Fragment, { children: filterData === null || filterData === void 0 ? void 0 : filterData.map((i, index) => (_jsx(Col, { span: 6, style: {
206
235
  display: `${index > num && collapse ? 'none' : 'block'}`,
207
- }, children: _jsx(FilterFieldItem, { ...i, updateFilterData: updateFilterData, fields: filterFields, supportManyRelated: supportManyRelated }) }, i.id))) }), _jsx(Col, { span: 24, style: { flex: '1', textAlign: 'right' }, children: _jsxs("div", { className: `${classPrefix}-space`, children: [_jsx("div", { className: `${classPrefix}-space-item`, children: _jsx(WdButton, { size: "md", theme: "secondary", text: "\u91CD\u7F6E", events: {
208
- tap: resetFilter,
209
- } }) }), _jsxs("div", { className: `${classPrefix}-space-item`, children: [_jsx("input", { type: "submit", style: { display: 'none' } }), _jsx(WdButton, { size: "md", theme: "primary", text: "\u67E5\u8BE2", events: {
210
- tap: () => {
211
- searchHandle();
212
- },
213
- } })] }), filterData.length > maxlength && (_jsx("div", { className: `${classPrefix}-space-item`, children: _jsx(WdButton, { icon: collapse ? 'td:chevron-down' : 'td:chevron-up', iconType: "icon-only", theme: "secondary", variant: "text", size: "md", events: {
214
- tap: () => {
215
- setCollapse(!collapse);
216
- },
217
- } }) }))] }) }, "search-button")] }) }))] }));
236
+ }, children: _jsx(FilterFieldItem, { ...i, updateFilterData: updateFilterData, fields: filterFields, supportManyRelated: supportManyRelated }) }, i.id))) }), _jsx(Col, { span: 24, style: { flex: '1', textAlign: 'right' }, children: _jsxs("div", { className: `${classPrefix}-space`, children: [_jsx("div", { className: `${classPrefix}-space-item`, children: _jsx(WdButton, { size: "md", theme: "secondary", text: "\u91CD\u7F6E", events: resetEvents }) }), _jsxs("div", { className: `${classPrefix}-space-item`, children: [HiddenSubmitInput, _jsx(WdButton, { size: "md", theme: "primary", text: "\u67E5\u8BE2", events: searchEvents })] }), filterData.length > maxlength && (_jsx("div", { className: `${classPrefix}-space-item`, children: _jsx(WdButton, { icon: collapse ? 'td:chevron-down' : 'td:chevron-up', iconType: "icon-only", theme: "secondary", variant: "text", size: "md", events: toggleCollapseEvents }) }))] }) }, "search-button")] }) }))] }));
218
237
  });
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * 后端导入弹窗
4
3
  */
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const InOrOutRecordModal: ({ isInOrOutRecordModalVisible, dbName, setIsImportFileModalByApiVisible, setIsExportFileModalByApiVisible, setIsInOrOutRecordModalVisible, }: {
3
2
  isInOrOutRecordModalVisible: any;
4
3
  dbName: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const Pagination: ({ total, pageIndex, pageSize, onPagingChange, }: {
3
2
  total?: number;
4
3
  pageIndex: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const SearchBox: ({ searchValues, fields, columnSets, fetchData, refresh, }: {
3
2
  searchValues: any;
4
3
  fields: any;
@@ -10,6 +10,7 @@ export declare const useAuthFields: ({ dbName, dbFieldNames, isNewData, isModel,
10
10
  columnSetsKey: any;
11
11
  }) => {
12
12
  authFields: any[];
13
+ noAuthFields: any[];
13
14
  isError: any;
14
15
  fieldsLoading: boolean;
15
16
  };
@@ -1,3 +1,4 @@
1
+ import { useMemo } from 'react';
1
2
  import useSWR from 'swr';
2
3
  import { getAuthFields } from '../../../utils/datasource';
3
4
  export const useAuthFields = ({ dbName, dbFieldNames, isNewData, isModel, connectorMethod, isNoDataSourceBind, isExpression = false, isApis = false, columnSetsKey, }) => {
@@ -13,16 +14,23 @@ export const useAuthFields = ({ dbName, dbFieldNames, isNewData, isModel, connec
13
14
  }
14
15
  return [isModel, dbName, connectorMethod === null || connectorMethod === void 0 ? void 0 : connectorMethod.name, columnSetsKey];
15
16
  }, async () => {
16
- const { showFields } = await getAuthFields(dbName, dbFieldNames, true, !!isNewData, isModel, connectorMethod, false);
17
- if (!(showFields === null || showFields === void 0 ? void 0 : showFields.length)) {
17
+ var _a;
18
+ const data = await getAuthFields(dbName, dbFieldNames, true, !!isNewData, isModel, connectorMethod, false);
19
+ if (!((_a = data === null || data === void 0 ? void 0 : data.showFields) === null || _a === void 0 ? void 0 : _a.length)) {
18
20
  throw {
19
21
  message: '数据源字段返回异常',
20
22
  };
21
23
  }
22
- return showFields;
24
+ return data;
23
25
  });
26
+ // 用 useMemo 稳定数组引用:data?.xxx || [] 会在 data 为 undefined 时每次返回新 [],
27
+ // 该引用会传给上层 wd-table 的 useMemo(columns) 作为依赖,造成无意义的 columns 重算。
28
+ // 仅当 data 引用变化时才重建空数组兜底。
29
+ const authFields = useMemo(() => (data === null || data === void 0 ? void 0 : data.showFields) || [], [data]);
30
+ const noAuthFields = useMemo(() => (data === null || data === void 0 ? void 0 : data.noAuthFields) || [], [data]);
24
31
  return {
25
- authFields: data || [],
32
+ authFields,
33
+ noAuthFields,
26
34
  isError: error,
27
35
  fieldsLoading: !error && !data,
28
36
  };
@@ -31,8 +31,8 @@ export const useTableData = ({ dataSourceAPI, connectorMethod, query, events, is
31
31
  const result = await dataSourceAPI.getRecordListV2(query, { swr });
32
32
  data = {
33
33
  ...data,
34
- total: result.total,
35
- records: result.records || [],
34
+ total: result === null || result === void 0 ? void 0 : result.total,
35
+ records: (result === null || result === void 0 ? void 0 : result.records) || [],
36
36
  };
37
37
  }
38
38
  }
@@ -41,8 +41,8 @@ export const useTableData = ({ dataSourceAPI, connectorMethod, query, events, is
41
41
  const result = await dataSourceAPI.getRecordList(query, { swr });
42
42
  data = {
43
43
  ...data,
44
- total: result.total,
45
- records: result.records || [],
44
+ total: result === null || result === void 0 ? void 0 : result.total,
45
+ records: (result === null || result === void 0 ? void 0 : result.records) || [],
46
46
  };
47
47
  }
48
48
  setIsError(false);
@@ -152,7 +152,7 @@ export const WdTable = forwardRef(function TableComp(tableProps, ref) {
152
152
  });
153
153
  const columnSetsKey = columnSets === null || columnSets === void 0 ? void 0 : columnSets.map((i) => i.key);
154
154
  // 过滤权限字段
155
- const { authFields, fieldsLoading, isError: fieldsError, } = useAuthFields({
155
+ const { authFields, noAuthFields, fieldsLoading, isError: fieldsError, } = useAuthFields({
156
156
  dbName,
157
157
  dbFieldNames,
158
158
  isNewData,
@@ -204,6 +204,7 @@ export const WdTable = forwardRef(function TableComp(tableProps, ref) {
204
204
  return [];
205
205
  }
206
206
  let baseColumns = getTableColumns({
207
+ noAuthFields,
207
208
  fields,
208
209
  columnSets,
209
210
  slots,
@@ -267,6 +268,7 @@ export const WdTable = forwardRef(function TableComp(tableProps, ref) {
267
268
  customOptionTitle,
268
269
  classPrefix,
269
270
  resizeColumns,
271
+ noAuthFields,
270
272
  ]);
271
273
  // 主键
272
274
  const recordKey = getRecordKey({
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { WdTabsProps } from './tabs';
3
2
  export declare const WdTabsH5: ({ isMultipleSlot, tabsDatas, selectedIndex, ...restProps }: WdTabsProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { WdTabsProps } from './tabs';
3
2
  export declare const WdTabsPc: ({ isMultipleSlot, tabsDatas, selectedIndex, ...restProps }: WdTabsProps) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  export declare const WdTabs: (props: WdTabsProps) => JSX.Element;
4
3
  export interface WdTabsProps extends CommonPropsType {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  import type { DataType } from '../../../configs/components/wd-layout';
4
3
  export interface WdTagProps extends CommonPropsType, DataType {
@@ -102,18 +102,18 @@ declare const initData: ({ data, parent, showIcon, expendIcon, foldIcon, leafIco
102
102
  parent?: TreeNode;
103
103
  iconShow?: string;
104
104
  pos?: string;
105
- value: string;
106
105
  label: string;
107
- disabled: boolean;
108
106
  children: {
109
- value: string;
110
107
  label: string;
111
- disabled: boolean;
112
108
  children: any[];
109
+ value: string;
110
+ disabled: boolean;
113
111
  foldIcon: string;
114
112
  expendIcon: string;
115
113
  leafIcon: string;
116
114
  }[];
115
+ value: string;
116
+ disabled: boolean;
117
117
  foldIcon: string;
118
118
  expendIcon: string;
119
119
  leafIcon: string;
@@ -146,36 +146,37 @@ declare const getTreeInfo: (params: IFindNodeParams, checkable: boolean) => {
146
146
  checkedState?: boolean;
147
147
  selectedState?: boolean;
148
148
  expandedtate?: boolean;
149
+ expanded: string[];
149
150
  event: string;
151
+ selected: string[];
152
+ checked: string[];
150
153
  currentNode: {
151
154
  data?: {
152
- value: string;
153
155
  label: string;
154
- disabled: boolean;
155
156
  children: any[];
157
+ value: string;
158
+ disabled: boolean;
156
159
  foldIcon: string;
157
160
  expendIcon: string;
158
161
  leafIcon: string;
159
162
  }[];
160
163
  };
161
- selected: string[];
162
164
  selectedPositions: string[];
163
165
  selectedNodes: {
164
- value: string;
165
166
  label: string;
166
- disabled: boolean;
167
167
  children: any[];
168
+ value: string;
169
+ disabled: boolean;
168
170
  foldIcon: string;
169
171
  expendIcon: string;
170
172
  leafIcon: string;
171
173
  }[];
172
- expanded: string[];
173
174
  expandedPositions: string[];
174
175
  expandedNodes: {
175
- value: string;
176
176
  label: string;
177
- disabled: boolean;
178
177
  children: any[];
178
+ value: string;
179
+ disabled: boolean;
179
180
  foldIcon: string;
180
181
  expendIcon: string;
181
182
  leafIcon: string;
@@ -183,21 +184,20 @@ declare const getTreeInfo: (params: IFindNodeParams, checkable: boolean) => {
183
184
  searched: string[];
184
185
  searchedPositions: string[];
185
186
  searchedNodes: {
186
- value: string;
187
187
  label: string;
188
- disabled: boolean;
189
188
  children: any[];
189
+ value: string;
190
+ disabled: boolean;
190
191
  foldIcon: string;
191
192
  expendIcon: string;
192
193
  leafIcon: string;
193
194
  }[];
194
- checked: string[];
195
195
  checkedPositions: string[];
196
196
  checkedNodes: {
197
- value: string;
198
197
  label: string;
199
- disabled: boolean;
200
198
  children: any[];
199
+ value: string;
200
+ disabled: boolean;
201
201
  foldIcon: string;
202
202
  expendIcon: string;
203
203
  leafIcon: string;
@@ -205,10 +205,10 @@ declare const getTreeInfo: (params: IFindNodeParams, checkable: boolean) => {
205
205
  childChecked: string[];
206
206
  childCheckedPositions: string[];
207
207
  childCheckedNodes: {
208
- value: string;
209
208
  label: string;
210
- disabled: boolean;
211
209
  children: any[];
210
+ value: string;
211
+ disabled: boolean;
212
212
  foldIcon: string;
213
213
  expendIcon: string;
214
214
  leafIcon: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdUploadFile: ({ isReadOnly }: {
4
3
  isReadOnly?: boolean;