fat-design 0.0.1-beta.20250720144540 → 0.0.1-beta.20250809091225

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 (241) hide show
  1. package/README.md +1 -1
  2. package/index.browser.js +18 -18
  3. package/index.js +1813 -1797
  4. package/index.umd.cjs +17 -17
  5. package/index.umd.js +17 -17
  6. package/libs/config-16.js +7 -7
  7. package/libs/config-17.js +7 -7
  8. package/libs/config-18.js +9 -9
  9. package/libs/config-19.js +9 -9
  10. package/libs/theme/theme-blue1.css +58 -58
  11. package/libs/theme/theme-blue2.css +63 -63
  12. package/libs/theme/theme-blue3.css +73 -73
  13. package/libs/theme/theme-blue4.css +53 -53
  14. package/libs/theme/theme-default.css +60 -60
  15. package/libs/theme/theme-green.css +96 -96
  16. package/libs/theme/theme-orange.css +58 -58
  17. package/libs/theme/theme-pink.css +53 -53
  18. package/libs/theme/theme-purple.css +53 -53
  19. package/libs/theme/theme-red.css +55 -55
  20. package/package.json +2 -2
  21. package/types/0buildTypes/config-provider/constants.d.ts +3 -3
  22. package/types/0buildTypes/config-provider/index.d.ts +4 -4
  23. package/types/0buildTypes/config-provider/v2/consumer.d.ts +3 -3
  24. package/types/0buildTypes/config-provider/v2/context.d.ts +6 -6
  25. package/types/0buildTypes/config-provider/v2/error-boundary.d.ts +27 -27
  26. package/types/0buildTypes/config-provider/v2/functions.d.ts +66 -66
  27. package/types/0buildTypes/config-provider/v2/index.d.ts +36 -36
  28. package/types/0buildTypes/config-provider/v2/provider.d.ts +4 -4
  29. package/types/0buildTypes/config-provider/v2/types.d.ts +22 -22
  30. package/types/0buildTypes/dependencies.d.ts +2 -2
  31. package/types/0buildTypes/empty/empty.d.ts +22 -22
  32. package/types/0buildTypes/empty/index.d.ts +2 -2
  33. package/types/0buildTypes/filter/filter-types.d.ts +21 -21
  34. package/types/0buildTypes/filter/filter.d.ts +10 -10
  35. package/types/0buildTypes/filter/index.d.ts +9 -9
  36. package/types/0buildTypes/form2/deps.d.ts +10 -10
  37. package/types/0buildTypes/form2/form-actions.d.ts +36 -36
  38. package/types/0buildTypes/form2/form-buttons.d.ts +28 -28
  39. package/types/0buildTypes/form2/form-context.d.ts +4 -4
  40. package/types/0buildTypes/form2/form-error.d.ts +3 -3
  41. package/types/0buildTypes/form2/form-item-card.d.ts +4 -4
  42. package/types/0buildTypes/form2/form-item-comp.d.ts +4 -4
  43. package/types/0buildTypes/form2/form-item-label.d.ts +4 -4
  44. package/types/0buildTypes/form2/form-item-preview.d.ts +4 -4
  45. package/types/0buildTypes/form2/form-item.d.ts +7 -7
  46. package/types/0buildTypes/form2/form-layout.d.ts +3 -3
  47. package/types/0buildTypes/form2/form-rules.d.ts +3 -3
  48. package/types/0buildTypes/form2/form-section.d.ts +25 -25
  49. package/types/0buildTypes/form2/form-types.d.ts +390 -387
  50. package/types/0buildTypes/form2/form.d.ts +36 -36
  51. package/types/0buildTypes/form2/helper/buildParams.d.ts +5 -5
  52. package/types/0buildTypes/form2/helper/constants.d.ts +24 -24
  53. package/types/0buildTypes/form2/helper/fixItemProps.d.ts +16 -16
  54. package/types/0buildTypes/form2/helper/fnInheritProps.d.ts +2 -2
  55. package/types/0buildTypes/form2/helper/linkageFormState.d.ts +16 -16
  56. package/types/0buildTypes/form2/helper/useDataSource.d.ts +14 -14
  57. package/types/0buildTypes/form2/helper/useFormChildren.d.ts +5 -5
  58. package/types/0buildTypes/form2/helper/useFormItemState.d.ts +3 -3
  59. package/types/0buildTypes/form2/helper/useGetXProps.d.ts +3 -3
  60. package/types/0buildTypes/form2/index.d.ts +20 -20
  61. package/types/0buildTypes/form2/layout/from-float-layout.d.ts +3 -3
  62. package/types/0buildTypes/hooks/index.d.ts +16 -16
  63. package/types/0buildTypes/hooks/useCurrentState.d.ts +11 -11
  64. package/types/0buildTypes/hooks/useOnKeyPressSave.d.ts +12 -12
  65. package/types/0buildTypes/hooks/usePersistFn.d.ts +3 -3
  66. package/types/0buildTypes/hooks/usePreciseStore.d.ts +53 -53
  67. package/types/0buildTypes/hooks/useSize.d.ts +6 -6
  68. package/types/0buildTypes/hooks/useUniqueId.d.ts +2 -2
  69. package/types/0buildTypes/hooks/useValueOnChange.d.ts +2 -2
  70. package/types/0buildTypes/image/Image.d.ts +42 -42
  71. package/types/0buildTypes/image/Operations.d.ts +25 -25
  72. package/types/0buildTypes/image/Preview.d.ts +64 -64
  73. package/types/0buildTypes/image/PreviewGroup.d.ts +32 -32
  74. package/types/0buildTypes/image/common.d.ts +2 -2
  75. package/types/0buildTypes/image/context.d.ts +7 -7
  76. package/types/0buildTypes/image/getFixScaleEleTransPosition.d.ts +17 -17
  77. package/types/0buildTypes/image/hooks/useImageTransform.d.ts +28 -28
  78. package/types/0buildTypes/image/hooks/useMouseEvent.d.ts +9 -9
  79. package/types/0buildTypes/image/hooks/usePreviewItems.d.ts +7 -7
  80. package/types/0buildTypes/image/hooks/useRegisterImage.d.ts +2 -2
  81. package/types/0buildTypes/image/hooks/useStatus.d.ts +14 -14
  82. package/types/0buildTypes/image/hooks/useTouchEvent.d.ts +8 -8
  83. package/types/0buildTypes/image/index.d.ts +6 -6
  84. package/types/0buildTypes/image/interface.d.ts +14 -14
  85. package/types/0buildTypes/image/previewConfig.d.ts +4 -4
  86. package/types/0buildTypes/image/util.d.ts +1 -1
  87. package/types/0buildTypes/image/utils/KeyCode.d.ts +23 -23
  88. package/types/0buildTypes/image/utils/addEventListener.d.ts +4 -4
  89. package/types/0buildTypes/image/utils/buildIcons.d.ts +2 -2
  90. package/types/0buildTypes/image/utils/css.d.ts +8 -8
  91. package/types/0buildTypes/image/utils/isEqual.d.ts +8 -8
  92. package/types/0buildTypes/image/utils/raf.d.ts +6 -6
  93. package/types/0buildTypes/image/utils/useEvent.d.ts +1 -1
  94. package/types/0buildTypes/image/utils/useLayoutEffect.d.ts +4 -4
  95. package/types/0buildTypes/image/utils/useMergedState.d.ts +12 -12
  96. package/types/0buildTypes/image/utils/useSafeState.d.ts +14 -14
  97. package/types/0buildTypes/index.d.ts +4 -4
  98. package/types/0buildTypes/libs.d.ts +66 -66
  99. package/types/0buildTypes/nav/group.d.ts +30 -30
  100. package/types/0buildTypes/nav/index.d.ts +4 -4
  101. package/types/0buildTypes/nav/item.d.ts +30 -30
  102. package/types/0buildTypes/nav/nav.d.ts +2 -2
  103. package/types/0buildTypes/nav/popup-item.d.ts +24 -24
  104. package/types/0buildTypes/nav/sub-nav.d.ts +30 -30
  105. package/types/0buildTypes/nav/types.d.ts +375 -375
  106. package/types/0buildTypes/others.d.ts +10 -10
  107. package/types/0buildTypes/pages/deps.d.ts +5 -5
  108. package/types/0buildTypes/pages/detail-page/detail-page-card-form.d.ts +12 -12
  109. package/types/0buildTypes/pages/detail-page/detail-page-form-item.d.ts +9 -9
  110. package/types/0buildTypes/pages/detail-page/detail-page-section.d.ts +19 -19
  111. package/types/0buildTypes/pages/detail-page/detail-page-summary.d.ts +9 -9
  112. package/types/0buildTypes/pages/detail-page/detail-page.d.ts +14 -14
  113. package/types/0buildTypes/pages/detail-page/index.d.ts +2 -2
  114. package/types/0buildTypes/pages/detail-page/types.d.ts +29 -29
  115. package/types/0buildTypes/pages/page-card/types.d.ts +6 -6
  116. package/types/0buildTypes/previews/renderFileImage.d.ts +34 -34
  117. package/types/0buildTypes/query-form/index.d.ts +2 -2
  118. package/types/0buildTypes/query-form/query-form-items.d.ts +3 -3
  119. package/types/0buildTypes/query-form/query-form-layout.d.ts +2 -2
  120. package/types/0buildTypes/query-form/query-form.d.ts +17 -17
  121. package/types/0buildTypes/query-form/types.d.ts +5 -5
  122. package/types/0buildTypes/sortable-list/helpers.d.ts +8 -8
  123. package/types/0buildTypes/sortable-list/hooks.d.ts +24 -24
  124. package/types/0buildTypes/sortable-list/index.d.ts +14 -14
  125. package/types/0buildTypes/sortable-list/sortable-editable-table.d.ts +2 -2
  126. package/types/0buildTypes/sortable-list/sortable-list.d.ts +560 -560
  127. package/types/0buildTypes/sortable-list/sortable-table.d.ts +2 -2
  128. package/types/0buildTypes/sortable-list/types.d.ts +15 -15
  129. package/types/0buildTypes/table-pro/index.d.ts +26 -26
  130. package/types/0buildTypes/table-pro/table-pro.d.ts +17 -17
  131. package/types/0buildTypes/table-pro/types.d.ts +93 -93
  132. package/types/0buildTypes/table-pro/useTablePro.d.ts +10 -10
  133. package/types/0buildTypes/table-pro/utils/formatQueryRes.d.ts +1 -1
  134. package/types/0buildTypes/table-pro/widget/column-setting.d.ts +4 -4
  135. package/types/0buildTypes/table-pro/widget/deps.d.ts +2 -2
  136. package/types/0buildTypes/table-pro/widget/index.d.ts +25 -25
  137. package/types/0buildTypes/table-pro/widget/operations.d.ts +5 -5
  138. package/types/0buildTypes/table-pro/widget/operationsActions.d.ts +2 -2
  139. package/types/0buildTypes/table-pro/widget/renderFormats.d.ts +17 -17
  140. package/types/0buildTypes/table-pro/widget/renderMultiFieldCell.d.ts +4 -4
  141. package/types/0buildTypes/table-pro/widget/renderOperationCell.d.ts +4 -4
  142. package/types/0buildTypes/table-pro/widget/renderToolbar.d.ts +6 -6
  143. package/types/0buildTypes/table-pro/widget/table-utils-types.d.ts +40 -40
  144. package/types/0buildTypes/util/comp.d.ts +16 -16
  145. package/types/0buildTypes/util/component.d.ts +1 -1
  146. package/types/0buildTypes/util/constants.d.ts +4 -4
  147. package/types/0buildTypes/util/dom.d.ts +116 -116
  148. package/types/0buildTypes/util/env.d.ts +7 -7
  149. package/types/0buildTypes/util/func-wrapper.d.ts +1 -1
  150. package/types/0buildTypes/util/func.d.ts +73 -73
  151. package/types/0buildTypes/util/guid.d.ts +11 -11
  152. package/types/0buildTypes/util/isStateEquals.d.ts +4 -4
  153. package/types/0buildTypes/util/localforage.d.ts +11 -11
  154. package/types/0buildTypes/util/log.d.ts +18 -18
  155. package/types/0buildTypes/util/pick-res-data.d.ts +28 -28
  156. package/types/0buildTypes/util/react-dom.d.ts +27 -27
  157. package/types/0buildTypes/util/shallowEqual.d.ts +3 -3
  158. package/types/0buildTypes/util/string.d.ts +32 -32
  159. package/types/0buildTypes/util/tiny-emitter.d.ts +10 -0
  160. package/types/0buildTypes/util/toMap.d.ts +7 -7
  161. package/types/affix/index.d.ts +33 -33
  162. package/types/animate/index.d.ts +80 -80
  163. package/types/avatar/index.d.ts +41 -41
  164. package/types/badge/index.d.ts +38 -38
  165. package/types/balloon/index.d.ts +254 -254
  166. package/types/balloon-confirm/index.d.ts +78 -78
  167. package/types/batch-input/index.d.ts +152 -152
  168. package/types/box/index.d.ts +18 -18
  169. package/types/breadcrumb/index.d.ts +60 -60
  170. package/types/button/index.d.ts +179 -179
  171. package/types/calendar/index.d.ts +76 -76
  172. package/types/card/index.d.ts +147 -147
  173. package/types/cascader/index.d.ts +135 -135
  174. package/types/cascader-select/index.d.ts +230 -230
  175. package/types/checkbox/index.d.ts +175 -175
  176. package/types/collapse/index.d.ts +96 -96
  177. package/types/config-provider/index.d.ts +3 -3
  178. package/types/date-picker/index.d.ts +123 -123
  179. package/types/dialog/index.d.ts +328 -328
  180. package/types/divider/index.d.ts +21 -21
  181. package/types/drawer/index.d.ts +121 -121
  182. package/types/dropdown/index.d.ts +198 -198
  183. package/types/field/index.d.ts +33 -33
  184. package/types/filter/index.d.ts +2 -2
  185. package/types/form/index.d.ts +5 -5
  186. package/types/grid/index.d.ts +142 -142
  187. package/types/hooks/index.d.ts +2 -2
  188. package/types/icon/index.d.ts +29 -29
  189. package/types/image/index.d.ts +3 -3
  190. package/types/index.d.ts +67 -67
  191. package/types/input/index.d.ts +367 -367
  192. package/types/list/index.d.ts +69 -69
  193. package/types/loading/index.d.ts +100 -100
  194. package/types/locale/default.d.ts +143 -143
  195. package/types/locale/en-us.d.ts +1 -1
  196. package/types/locale/id-id.d.ts +1 -1
  197. package/types/locale/it-it.d.ts +1 -1
  198. package/types/locale/ja-jp.d.ts +1 -1
  199. package/types/locale/ko-kr.d.ts +1 -1
  200. package/types/locale/ms-my.d.ts +1 -1
  201. package/types/locale/pt-pt.d.ts +1 -1
  202. package/types/locale/th-th.d.ts +1 -1
  203. package/types/locale/vi-vn.d.ts +1 -1
  204. package/types/locale/zh-cn.d.ts +1 -1
  205. package/types/locale/zh-hk.d.ts +1 -1
  206. package/types/locale/zh-tw.d.ts +1 -1
  207. package/types/menu/index.d.ts +336 -336
  208. package/types/menu-button/index.d.ts +100 -100
  209. package/types/message/index.d.ts +164 -164
  210. package/types/nav/index.d.ts +313 -313
  211. package/types/notification/index.d.ts +35 -35
  212. package/types/number-picker/index.d.ts +161 -161
  213. package/types/overlay/index.d.ts +363 -363
  214. package/types/pagination/index.d.ts +115 -115
  215. package/types/paragraph/index.d.ts +23 -23
  216. package/types/progress/index.d.ts +53 -53
  217. package/types/query-form/index.d.ts +3 -3
  218. package/types/radio/index.d.ts +180 -180
  219. package/types/range/index.d.ts +120 -120
  220. package/types/rating/index.d.ts +84 -84
  221. package/types/responsive-grid/index.d.ts +30 -30
  222. package/types/search/index.d.ts +219 -219
  223. package/types/select/index.d.ts +479 -479
  224. package/types/shell/index.d.ts +53 -53
  225. package/types/slider/index.d.ts +172 -172
  226. package/types/split-button/index.d.ts +134 -134
  227. package/types/step/index.d.ts +108 -108
  228. package/types/switch/index.d.ts +85 -85
  229. package/types/tab/index.d.ts +170 -170
  230. package/types/table/index.d.ts +407 -407
  231. package/types/table-pro/index.d.ts +3 -3
  232. package/types/tag/index.d.ts +124 -124
  233. package/types/time-picker/index.d.ts +193 -193
  234. package/types/timeline/index.d.ts +95 -95
  235. package/types/transfer/index.d.ts +199 -199
  236. package/types/tree/index.d.ts +421 -421
  237. package/types/tree-select/index.d.ts +251 -251
  238. package/types/typography/index.d.ts +28 -28
  239. package/types/upload/index.d.ts +707 -707
  240. package/types/util.d.ts +50 -50
  241. package/types/virtual-list/index.d.ts +44 -44
@@ -1,707 +1,707 @@
1
- /// <reference types="react" />
2
-
3
- import * as React from 'react';
4
- import CommonProps from '../util';
5
- import { ProgressProps } from '../progress';
6
-
7
- interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
8
- onError?: any;
9
- onSelect?: any;
10
- defaultValue?: any;
11
- onChange?: any;
12
- }
13
-
14
- export interface UploadError extends Error {
15
- code?: string;
16
- status?: number;
17
- method?: string;
18
- url?: string;
19
- }
20
-
21
-
22
- export interface UploadProgressEvent extends ProgressEvent {
23
- percent?: number;
24
- }
25
-
26
- export interface UploadOptions {
27
- beforeUpload?: (file: UploadFile, data: unknown) => boolean | object | unknown;
28
- onProgress?: (e: UploadProgressEvent, file?: UploadFile) => void;
29
- onSuccess?: (ret: unknown, xhr?: XMLHttpRequest | UploadFile) => void;
30
- onError?: (err: ProgressEvent | UploadError, param: unknown, file?: UploadFile) => void;
31
- data?: UploadProps['data'];
32
- name?: string;
33
- method?: 'post' | 'put' | 'POST' | 'PUT';
34
- action?: string;
35
- headers?: { [key: string]: unknown; 'X-Requested-With'?: string | undefined };
36
- withCredentials?: boolean;
37
- request?: (option: object) => { abort?: (() => void) | undefined };
38
- file?: UploadFile;
39
- filename?: string;
40
- timeout?: number;
41
- }
42
-
43
-
44
- export interface CommonModifiedFile {
45
- uid?: string | number;
46
- error?: unknown;
47
- percent?: number;
48
- state?: string;
49
- lastModifiedDate?: Date;
50
- filename?: string;
51
- readonly name: string;
52
- }
53
-
54
- export type BeforeUploadOption = {
55
- action?: string;
56
- headers?: object;
57
- timeout?: number;
58
- withCredentials?: boolean;
59
- method?: string;
60
- data?: object;
61
- };
62
-
63
- export interface UploadFile extends CommonModifiedFile, File {
64
- url?: string;
65
- }
66
-
67
-
68
-
69
- export interface ObjectFile extends CommonModifiedFile {
70
- lastModified?: number;
71
- lastModifiedDate?: Date;
72
- size?: number;
73
- type?: string;
74
- originFileObj?: UploadFile;
75
- imgURL?: string;
76
- downloadURL?: string;
77
- url?: string;
78
- errorMsg?: string;
79
- errorText?: string;
80
- fileURL?: string;
81
- tempUrl?: string;
82
- alt?: string;
83
- }
84
-
85
-
86
-
87
- export interface CardProps extends HTMLAttributesWeak, CommonProps {
88
- /**
89
- * 上传的地址
90
- */
91
- action?: string;
92
-
93
- /**
94
- * 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件
95
- */
96
- multiple?: boolean;
97
-
98
- /**
99
- * 展示下载按钮
100
- */
101
- showDownload?: boolean;
102
-
103
- /**
104
- * 接受上传的文件类型 (image/png, image/jpg, .doc, .ppt) 详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)
105
- */
106
- accept?: string;
107
-
108
-
109
- /**
110
- * 上传额外传参
111
- * @en Upload extra parameters
112
- */
113
- data?:
114
- | { [key: string]: string | Blob }
115
- | ((file: UploadFile) => { [key: string]: string | Blob });
116
-
117
- /**
118
- * 设置上传的请求头部
119
- */
120
- headers?: any;
121
-
122
- /**
123
- * 是否允许请求携带 cookie
124
- */
125
- withCredentials?: boolean;
126
-
127
- /**
128
- * 可选参数,详见 [beforeUpload](#beforeUpload)
129
- * @en Optional parameters, see [beforeUpload](#beforeUpload)
130
- * @param file - 所有文件 - all file
131
- * @param options - 参数 - parameters
132
- * @defaultValue func.noop
133
- */
134
- beforeUpload?: (file: UploadFile, options: BeforeUploadOption) => boolean | object | unknown;
135
-
136
-
137
- /**
138
- * 上传中
139
- * @en onProgress Callback
140
- * @defaultValue func.noop
141
- */
142
- onProgress?: (file: ObjectFile[], e: ObjectFile) => void;
143
-
144
- /**
145
- * 可选参数,上传成功回调函数,参数为请求下响应信息以及文件
146
- * @en Optional parameters, upload success callback function, the parameter is the response information and file
147
- * @param file - 文件 - file
148
- * @param value - 值 - value
149
- * @defaultValue func.noop
150
- */
151
- onSuccess?: (file: ObjectFile, value?: ObjectFile[]) => void;
152
-
153
- /**
154
- * 可选参数,上传失败回调函数,参数为上传失败的信息、响应信息以及文件
155
- * @en Optional parameters, upload failure callback function, the parameter is the upload failure information, response information and file
156
- * @param file - 出错的文件 - error file
157
- * @param value - 当前值 - current value
158
- * @defaultValue func.noop
159
- */
160
- onError?: (file: ObjectFile, value: ObjectFile[]) => void;
161
-
162
- /**
163
- * 子元素
164
- */
165
- children?: any;
166
-
167
- /**
168
- * 设置上传超时,单位ms
169
- */
170
- timeout?: number;
171
-
172
- /**
173
- * 上传方法
174
- * @en Upload method
175
- * @defaultValue 'post'
176
- */
177
- method?: 'post' | 'put' | 'POST' | 'PUT';
178
-
179
- /**
180
- * 自定义上传方法
181
- * @en Custom upload method
182
- * @param option - 参数 - parameters
183
- * @returns - 返回值 - object with abort method
184
- */
185
- request?: (option: any) => any;
186
-
187
- /**
188
- * 文件名字段
189
- */
190
- name?: string;
191
-
192
-
193
- /**
194
- * 选择文件回调
195
- * @en Select file callback
196
- * @defaultValue func.noop
197
- */
198
- onSelect?: (uploadFiles: any[]) => any;
199
-
200
-
201
- /**
202
- * 放文件
203
- * @en Drop file
204
- * @defaultValue func.noop
205
- */
206
- onDrop?: (files: UploadFile[]) => void;
207
-
208
- /**
209
- * 样式前缀
210
- */
211
- prefix?: string;
212
-
213
- /**
214
- * 文件列表
215
- * @en File list
216
- */
217
- value?: ObjectFile[] | ObjectFile;
218
-
219
- /**
220
- * 默认文件列表
221
- */
222
- defaultValue?: ObjectFile[] | ObjectFile;
223
-
224
- /**
225
- * 上传按钮形状
226
- */
227
- shape?: 'card';
228
-
229
- /**
230
- * 上传列表的样式
231
- */
232
- listType?: 'text' | 'image' | 'card';
233
-
234
- /**
235
- * 数据格式化函数,配合自定义 action 使用,参数为服务器的响应数据,详见 [formatter](#formater)
236
- */
237
- formatter?: (response: {}, file: any) => void;
238
-
239
- /**
240
- * 最大文件上传个数
241
- */
242
- limit?: number;
243
-
244
- /**
245
- * 可选参数,是否支持拖拽上传,`ie10+` 支持。
246
- */
247
- dragable?: boolean;
248
-
249
- /**
250
- * 可选参数,是否本地预览
251
- */
252
- useDataURL?: boolean;
253
-
254
- /**
255
- * 可选参数,是否禁用上传功能
256
- */
257
- disabled?: boolean;
258
-
259
- /**
260
- * 改变时候的回调
261
- */
262
- onChange?: (value: File[]) => void;
263
-
264
- /**
265
- * 可选参数, 用于校验文件,afterSelect仅在 autoUpload=false 的时候生效,autoUpload=true时,可以使用beforeUpload完全可以替代该功能.
266
- */
267
- afterSelect?: (file: {}) => boolean;
268
-
269
- /**
270
- * 点击移除的回调
271
- */
272
- onRemove?: () => void;
273
-
274
- /**
275
- * 自定义class
276
- */
277
- className?: string;
278
-
279
- /**
280
- * 自定义内联样式
281
- */
282
- style?: React.CSSProperties;
283
-
284
- /**
285
- * 自动上传
286
- */
287
- autoUpload?: boolean;
288
-
289
- /**
290
- * 透传给Progress props
291
- */
292
- progressProps?: ProgressProps;
293
-
294
- /**
295
- * 点击图片回调
296
- * @en Click image callback
297
- * @skip
298
- */
299
- onPreview?: (file: UploadFile, e?: MouseEvent<HTMLElement>) => void;
300
-
301
- /**
302
- * 取消上传的回调
303
- */
304
- onCancel?: () => void;
305
- /**
306
- * 调用系统设备媒体
307
- */
308
- capture?: string;
309
-
310
- /**
311
- * 自定义成功和失败的列表渲染方式
312
- */
313
- itemRender?: (file: UploadFile, obj: { remove?: () => void }) => React.ReactNode;
314
-
315
- /**
316
- * 选择新文件上传并替换
317
- */
318
- reUpload?: boolean;
319
- }
320
-
321
- export class Card extends React.Component<CardProps, any> {}
322
-
323
- export interface SimpleJSONUploadProps extends UploadProps, CardProps {
324
- uploadComponent?: any; // 可以指定上传组件
325
- }
326
-
327
- export class SimpleJSONUpload extends React.Component<SimpleJSONUploadProps, any> {} {
328
-
329
- }
330
-
331
-
332
- export interface DraggerProps extends UploadProps {
333
-
334
- }
335
-
336
- export class Dragger extends React.Component<DraggerProps, any> {}
337
-
338
- export interface SelecterProps extends HTMLAttributesWeak, CommonProps {
339
- /**
340
- * 是否禁用上传功能
341
- */
342
- disabled?: boolean;
343
-
344
- /**
345
- * 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件
346
- */
347
- multiple?: boolean;
348
-
349
- /**
350
- * 是否支持拖拽上传,`ie10+` 支持。
351
- */
352
- dragable?: boolean;
353
-
354
- /**
355
- * 接受上传的文件类型 (image/png, image/jpg, .doc, .ppt) 详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)
356
- */
357
- accept?: string;
358
-
359
- /**
360
- * 文件选择回调
361
- */
362
- onSelect?: (e: React.ChangeEvent<HTMLInputElement>) => void;
363
-
364
- /**
365
- * 拖拽经过回调
366
- */
367
- onDragOver?: () => void;
368
-
369
- /**
370
- * 拖拽离开回调
371
- */
372
- onDragLeave?: () => void;
373
-
374
- /**
375
- * 拖拽完成回调
376
- */
377
- onDrop?: () => void;
378
-
379
- /**
380
- * 是否支持上传文件夹,仅在 chorme 下生效
381
- */
382
- webkitdirectory?: boolean;
383
- }
384
-
385
- export class Selecter extends React.Component<SelecterProps, any> {}
386
-
387
- export class Uploader {
388
- /**
389
- * @param options 配置
390
- */
391
- constructor(options?: any);
392
-
393
- /**
394
- * 配置选项
395
- * @param options 配置
396
- */
397
- setOptions(options: any): void;
398
- /**
399
- * 开始上传
400
- * @param files 文件列表
401
- */
402
- startUpload(files: Array<any>): void;
403
- /**
404
- * 中断某个文件上传
405
- * @param file 文件
406
- */
407
- abort(file: any): void;
408
- }
409
-
410
-
411
- export interface UploadProps extends HTMLAttributesWeak, CommonProps {
412
- /**
413
- * 上传的地址
414
- */
415
- action?: string;
416
-
417
- /**
418
- * 接受上传的文件类型 (image/png, image/jpg, .doc, .ppt) 详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)
419
- */
420
- accept?: string;
421
-
422
- /**
423
- * 上传额外传参
424
- */
425
- data?: any | (() => void);
426
-
427
- /**
428
- * 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件
429
- */
430
- multiple?: boolean;
431
-
432
- /**
433
- * 设置上传的请求头部
434
- */
435
- headers?: any;
436
-
437
- /**
438
- * 是否允许请求携带 cookie
439
- */
440
- withCredentials?: boolean;
441
-
442
-
443
- /**
444
- * 可选参数,详见 [beforeUpload](#beforeUpload)
445
- * @en Optional parameters, see [beforeUpload](#beforeUpload)
446
- * @param file - 所有文件 - all file
447
- * @param options - 参数 - parameters
448
- * @defaultValue func.noop
449
- */
450
- beforeUpload?: (file: UploadFile, options: BeforeUploadOption) => boolean | object | unknown;
451
-
452
-
453
- /**
454
- * 上传中
455
- * @en onProgress Callback
456
- * @defaultValue func.noop
457
- */
458
- onProgress?: (file: ObjectFile[], e: ObjectFile) => void;
459
-
460
- /**
461
- * 可选参数,上传成功回调函数,参数为请求下响应信息以及文件
462
- * @en Optional parameters, upload success callback function, the parameter is the response information and file
463
- * @param file - 文件 - file
464
- * @param value - 值 - value
465
- * @defaultValue func.noop
466
- */
467
- onSuccess?: (file: ObjectFile, value?: ObjectFile[]) => void;
468
-
469
- /**
470
- * 可选参数,上传失败回调函数,参数为上传失败的信息、响应信息以及文件
471
- * @en Optional parameters, upload failure callback function, the parameter is the upload failure information, response information and file
472
- * @param file - 出错的文件 - error file
473
- * @param value - 当前值 - current value
474
- * @defaultValue func.noop
475
- */
476
- onError?: (error: UploadError, res?:any, file?:any) => void;
477
-
478
-
479
- /**
480
- * 子元素
481
- */
482
- children?: React.ReactNode;
483
-
484
- /**
485
- * 设置上传超时,单位ms
486
- */
487
- timeout?: number;
488
-
489
- /**
490
- * 上传方法
491
- */
492
- method?: 'post' | 'put';
493
-
494
- /**
495
- * 自定义上传方法
496
- */
497
- request?: (option: any) => any;
498
-
499
- /**
500
- * 文件名字段
501
- */
502
- name?: string;
503
-
504
-
505
- /**
506
- * 选择文件回调
507
- * @en Select file callback
508
- * @defaultValue func.noop
509
- */
510
- onSelect?: (uploadFiles: any[]) => any;
511
-
512
- /**
513
- * 放文件
514
- * @en Drop file
515
- * @defaultValue func.noop
516
- */
517
- onDrop?: (files: UploadFile[]) => void;
518
-
519
-
520
- /**
521
- * 样式前缀
522
- */
523
- prefix?: string;
524
-
525
- /**
526
- * 文件列表
527
- */
528
- value?: Array<any>;
529
-
530
- /**
531
- * 默认文件列表
532
- */
533
- defaultValue?: Array<any>;
534
-
535
- /**
536
- * 上传按钮形状
537
- */
538
- shape?: 'card';
539
-
540
- /**
541
- * 上传列表的样式
542
- */
543
- listType?: 'text' | 'image' | 'card';
544
-
545
- /**
546
- * 数据格式化函数,配合自定义 action 使用,参数为服务器的响应数据,详见 [formatter](#formater)
547
- */
548
- formatter?: (response: any, file: any) => void;
549
-
550
- /**
551
- * 自定义渲染List的图标
552
- * @param img
553
- * @param imgURL
554
- * @param file
555
- */
556
- thumbnailRender?: (img:any, imgURL:any, file:any)=> any;
557
-
558
- /**
559
- * 最大文件上传个数
560
- */
561
- limit?: number;
562
-
563
- /**
564
- * 可选参数,是否支持拖拽上传,`ie10+` 支持。
565
- */
566
- dragable?: boolean;
567
-
568
- /**
569
- * 可选参数,是否本地预览
570
- */
571
- useDataURL?: boolean;
572
-
573
- /**
574
- * 可选参数,是否禁用上传功能
575
- */
576
- disabled?: boolean;
577
-
578
- /**
579
- * 上传文件改变时的状态
580
- */
581
- onChange?: (value: File[]) => void;
582
-
583
- /**
584
- * 可选参数, 用于校验文件,afterSelect仅在 autoUpload=false 的时候生效,autoUpload=true时,可以使用beforeUpload完全可以替代该功能.
585
- */
586
- afterSelect?: (file: any) => boolean;
587
-
588
- /**
589
- * 移除文件回调函数
590
- */
591
- onRemove?: (file: any) => boolean | any;
592
-
593
- /**
594
- * 自定义额外渲染
595
- */
596
- extraRender?: (file: File) => any;
597
- /**
598
- * 自定义文件名渲染
599
- */
600
- fileNameRender?: (file: File) => any;
601
- /**
602
- * 自定义操作区域渲染
603
- */
604
- actionRender?: (file: ObjectFile) => any;
605
- /**
606
- * 自定义class
607
- */
608
- className?: string;
609
-
610
- /**
611
- * 自定义内联样式
612
- */
613
- style?: React.CSSProperties;
614
-
615
- /**
616
- * 自动上传
617
- */
618
- autoUpload?: boolean;
619
-
620
- /**
621
- * 透传给Progress props
622
- */
623
- progressProps?: ProgressProps;
624
-
625
- /**
626
- * 是否为预览态
627
- */
628
- isPreview?: boolean;
629
-
630
- /**
631
- * 预览态模式下渲染的内容
632
- */
633
- renderPreview?: (value: number) => void;
634
-
635
- /**
636
- * 文件对象的 key name
637
- */
638
- fileKeyName?: string;
639
-
640
- /**
641
- * 点击图片回调
642
- * @en Click image callback
643
- * @skip
644
- */
645
- onPreview?: (file: UploadFile, e?: MouseEvent<HTMLElement>) => void;
646
-
647
- /**
648
- * 点击文件名时触发 onPreview
649
- * @version 1.24
650
- */
651
- previewOnFileName?: boolean;
652
-
653
- /**
654
- * 自定义成功和失败的列表渲染方式,仅在 listType 是 card/image 时生效
655
- * @en Customize success and failure list rendering, only in listType is card or image
656
- */
657
- itemRender?: (file: UploadFile, action?: { remove?: () => void }) => ReactNode;
658
-
659
- /**
660
- * 选择新文件上传并替换
661
- */
662
- reUpload?: boolean;
663
- webkitdirectory?: boolean;
664
- }
665
-
666
- export enum ErrorCode {
667
- EXCEED_LIMIT = 'EXCEED_LIMIT',
668
- BEFOREUPLOAD_REJECT = 'BEFOREUPLOAD_REJECT',
669
- RESPONSE_FAIL = 'RESPONSE_FAIL',
670
- }
671
-
672
- export default class Upload extends React.Component<UploadProps, any> {
673
- static Card: typeof Card;
674
- static Dragger: typeof Dragger;
675
- static Selecter: typeof Selecter;
676
- static Uploader: typeof Uploader;
677
- static SimpleJSONUpload: typeof SimpleJSONUpload;
678
- static ErrorCode: typeof ErrorCode;
679
-
680
- /**
681
- * 添加文件
682
- * @param files
683
- */
684
- selectFiles: (file: File) => void;
685
- /**
686
- * 控制文件上传
687
- */
688
- startUpload: () => void;
689
- /**
690
- * 控制文件上传
691
- * @param file 文件
692
- */
693
- uploadFiles: (file: File) => void;
694
- /**
695
- * 替换文件
696
- */
697
- replaceFiles: (old: object, current: object) => void;
698
- /**
699
- * 上传状态
700
- */
701
- isUploading: () => boolean;
702
- /**
703
- * 中断某个文件上传
704
- * @param file 文件
705
- */
706
- abort: (file: File) => void;
707
- }
1
+ /// <reference types="react" />
2
+
3
+ import * as React from 'react';
4
+ import CommonProps from '../util';
5
+ import { ProgressProps } from '../progress';
6
+
7
+ interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
8
+ onError?: any;
9
+ onSelect?: any;
10
+ defaultValue?: any;
11
+ onChange?: any;
12
+ }
13
+
14
+ export interface UploadError extends Error {
15
+ code?: string;
16
+ status?: number;
17
+ method?: string;
18
+ url?: string;
19
+ }
20
+
21
+
22
+ export interface UploadProgressEvent extends ProgressEvent {
23
+ percent?: number;
24
+ }
25
+
26
+ export interface UploadOptions {
27
+ beforeUpload?: (file: UploadFile, data: unknown) => boolean | object | unknown;
28
+ onProgress?: (e: UploadProgressEvent, file?: UploadFile) => void;
29
+ onSuccess?: (ret: unknown, xhr?: XMLHttpRequest | UploadFile) => void;
30
+ onError?: (err: ProgressEvent | UploadError, param: unknown, file?: UploadFile) => void;
31
+ data?: UploadProps['data'];
32
+ name?: string;
33
+ method?: 'post' | 'put' | 'POST' | 'PUT';
34
+ action?: string;
35
+ headers?: { [key: string]: unknown; 'X-Requested-With'?: string | undefined };
36
+ withCredentials?: boolean;
37
+ request?: (option: object) => { abort?: (() => void) | undefined };
38
+ file?: UploadFile;
39
+ filename?: string;
40
+ timeout?: number;
41
+ }
42
+
43
+
44
+ export interface CommonModifiedFile {
45
+ uid?: string | number;
46
+ error?: unknown;
47
+ percent?: number;
48
+ state?: string;
49
+ lastModifiedDate?: Date;
50
+ filename?: string;
51
+ readonly name: string;
52
+ }
53
+
54
+ export type BeforeUploadOption = {
55
+ action?: string;
56
+ headers?: object;
57
+ timeout?: number;
58
+ withCredentials?: boolean;
59
+ method?: string;
60
+ data?: object;
61
+ };
62
+
63
+ export interface UploadFile extends CommonModifiedFile, File {
64
+ url?: string;
65
+ }
66
+
67
+
68
+
69
+ export interface ObjectFile extends CommonModifiedFile {
70
+ lastModified?: number;
71
+ lastModifiedDate?: Date;
72
+ size?: number;
73
+ type?: string;
74
+ originFileObj?: UploadFile;
75
+ imgURL?: string;
76
+ downloadURL?: string;
77
+ url?: string;
78
+ errorMsg?: string;
79
+ errorText?: string;
80
+ fileURL?: string;
81
+ tempUrl?: string;
82
+ alt?: string;
83
+ }
84
+
85
+
86
+
87
+ export interface CardProps extends HTMLAttributesWeak, CommonProps {
88
+ /**
89
+ * 上传的地址
90
+ */
91
+ action?: string;
92
+
93
+ /**
94
+ * 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件
95
+ */
96
+ multiple?: boolean;
97
+
98
+ /**
99
+ * 展示下载按钮
100
+ */
101
+ showDownload?: boolean;
102
+
103
+ /**
104
+ * 接受上传的文件类型 (image/png, image/jpg, .doc, .ppt) 详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)
105
+ */
106
+ accept?: string;
107
+
108
+
109
+ /**
110
+ * 上传额外传参
111
+ * @en Upload extra parameters
112
+ */
113
+ data?:
114
+ | { [key: string]: string | Blob }
115
+ | ((file: UploadFile) => { [key: string]: string | Blob });
116
+
117
+ /**
118
+ * 设置上传的请求头部
119
+ */
120
+ headers?: any;
121
+
122
+ /**
123
+ * 是否允许请求携带 cookie
124
+ */
125
+ withCredentials?: boolean;
126
+
127
+ /**
128
+ * 可选参数,详见 [beforeUpload](#beforeUpload)
129
+ * @en Optional parameters, see [beforeUpload](#beforeUpload)
130
+ * @param file - 所有文件 - all file
131
+ * @param options - 参数 - parameters
132
+ * @defaultValue func.noop
133
+ */
134
+ beforeUpload?: (file: UploadFile, options: BeforeUploadOption) => boolean | object | unknown;
135
+
136
+
137
+ /**
138
+ * 上传中
139
+ * @en onProgress Callback
140
+ * @defaultValue func.noop
141
+ */
142
+ onProgress?: (file: ObjectFile[], e: ObjectFile) => void;
143
+
144
+ /**
145
+ * 可选参数,上传成功回调函数,参数为请求下响应信息以及文件
146
+ * @en Optional parameters, upload success callback function, the parameter is the response information and file
147
+ * @param file - 文件 - file
148
+ * @param value - 值 - value
149
+ * @defaultValue func.noop
150
+ */
151
+ onSuccess?: (file: ObjectFile, value?: ObjectFile[]) => void;
152
+
153
+ /**
154
+ * 可选参数,上传失败回调函数,参数为上传失败的信息、响应信息以及文件
155
+ * @en Optional parameters, upload failure callback function, the parameter is the upload failure information, response information and file
156
+ * @param file - 出错的文件 - error file
157
+ * @param value - 当前值 - current value
158
+ * @defaultValue func.noop
159
+ */
160
+ onError?: (file: ObjectFile, value: ObjectFile[]) => void;
161
+
162
+ /**
163
+ * 子元素
164
+ */
165
+ children?: any;
166
+
167
+ /**
168
+ * 设置上传超时,单位ms
169
+ */
170
+ timeout?: number;
171
+
172
+ /**
173
+ * 上传方法
174
+ * @en Upload method
175
+ * @defaultValue 'post'
176
+ */
177
+ method?: 'post' | 'put' | 'POST' | 'PUT';
178
+
179
+ /**
180
+ * 自定义上传方法
181
+ * @en Custom upload method
182
+ * @param option - 参数 - parameters
183
+ * @returns - 返回值 - object with abort method
184
+ */
185
+ request?: (option: any) => any;
186
+
187
+ /**
188
+ * 文件名字段
189
+ */
190
+ name?: string;
191
+
192
+
193
+ /**
194
+ * 选择文件回调
195
+ * @en Select file callback
196
+ * @defaultValue func.noop
197
+ */
198
+ onSelect?: (uploadFiles: any[]) => any;
199
+
200
+
201
+ /**
202
+ * 放文件
203
+ * @en Drop file
204
+ * @defaultValue func.noop
205
+ */
206
+ onDrop?: (files: UploadFile[]) => void;
207
+
208
+ /**
209
+ * 样式前缀
210
+ */
211
+ prefix?: string;
212
+
213
+ /**
214
+ * 文件列表
215
+ * @en File list
216
+ */
217
+ value?: ObjectFile[] | ObjectFile;
218
+
219
+ /**
220
+ * 默认文件列表
221
+ */
222
+ defaultValue?: ObjectFile[] | ObjectFile;
223
+
224
+ /**
225
+ * 上传按钮形状
226
+ */
227
+ shape?: 'card';
228
+
229
+ /**
230
+ * 上传列表的样式
231
+ */
232
+ listType?: 'text' | 'image' | 'card';
233
+
234
+ /**
235
+ * 数据格式化函数,配合自定义 action 使用,参数为服务器的响应数据,详见 [formatter](#formater)
236
+ */
237
+ formatter?: (response: {}, file: any) => void;
238
+
239
+ /**
240
+ * 最大文件上传个数
241
+ */
242
+ limit?: number;
243
+
244
+ /**
245
+ * 可选参数,是否支持拖拽上传,`ie10+` 支持。
246
+ */
247
+ dragable?: boolean;
248
+
249
+ /**
250
+ * 可选参数,是否本地预览
251
+ */
252
+ useDataURL?: boolean;
253
+
254
+ /**
255
+ * 可选参数,是否禁用上传功能
256
+ */
257
+ disabled?: boolean;
258
+
259
+ /**
260
+ * 改变时候的回调
261
+ */
262
+ onChange?: (value: File[]) => void;
263
+
264
+ /**
265
+ * 可选参数, 用于校验文件,afterSelect仅在 autoUpload=false 的时候生效,autoUpload=true时,可以使用beforeUpload完全可以替代该功能.
266
+ */
267
+ afterSelect?: (file: {}) => boolean;
268
+
269
+ /**
270
+ * 点击移除的回调
271
+ */
272
+ onRemove?: () => void;
273
+
274
+ /**
275
+ * 自定义class
276
+ */
277
+ className?: string;
278
+
279
+ /**
280
+ * 自定义内联样式
281
+ */
282
+ style?: React.CSSProperties;
283
+
284
+ /**
285
+ * 自动上传
286
+ */
287
+ autoUpload?: boolean;
288
+
289
+ /**
290
+ * 透传给Progress props
291
+ */
292
+ progressProps?: ProgressProps;
293
+
294
+ /**
295
+ * 点击图片回调
296
+ * @en Click image callback
297
+ * @skip
298
+ */
299
+ onPreview?: (file: UploadFile, e?: MouseEvent<HTMLElement>) => void;
300
+
301
+ /**
302
+ * 取消上传的回调
303
+ */
304
+ onCancel?: () => void;
305
+ /**
306
+ * 调用系统设备媒体
307
+ */
308
+ capture?: string;
309
+
310
+ /**
311
+ * 自定义成功和失败的列表渲染方式
312
+ */
313
+ itemRender?: (file: UploadFile, obj: { remove?: () => void }) => React.ReactNode;
314
+
315
+ /**
316
+ * 选择新文件上传并替换
317
+ */
318
+ reUpload?: boolean;
319
+ }
320
+
321
+ export class Card extends React.Component<CardProps, any> {}
322
+
323
+ export interface SimpleJSONUploadProps extends UploadProps, CardProps {
324
+ uploadComponent?: any; // 可以指定上传组件
325
+ }
326
+
327
+ export class SimpleJSONUpload extends React.Component<SimpleJSONUploadProps, any> {} {
328
+
329
+ }
330
+
331
+
332
+ export interface DraggerProps extends UploadProps {
333
+
334
+ }
335
+
336
+ export class Dragger extends React.Component<DraggerProps, any> {}
337
+
338
+ export interface SelecterProps extends HTMLAttributesWeak, CommonProps {
339
+ /**
340
+ * 是否禁用上传功能
341
+ */
342
+ disabled?: boolean;
343
+
344
+ /**
345
+ * 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件
346
+ */
347
+ multiple?: boolean;
348
+
349
+ /**
350
+ * 是否支持拖拽上传,`ie10+` 支持。
351
+ */
352
+ dragable?: boolean;
353
+
354
+ /**
355
+ * 接受上传的文件类型 (image/png, image/jpg, .doc, .ppt) 详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)
356
+ */
357
+ accept?: string;
358
+
359
+ /**
360
+ * 文件选择回调
361
+ */
362
+ onSelect?: (e: React.ChangeEvent<HTMLInputElement>) => void;
363
+
364
+ /**
365
+ * 拖拽经过回调
366
+ */
367
+ onDragOver?: () => void;
368
+
369
+ /**
370
+ * 拖拽离开回调
371
+ */
372
+ onDragLeave?: () => void;
373
+
374
+ /**
375
+ * 拖拽完成回调
376
+ */
377
+ onDrop?: () => void;
378
+
379
+ /**
380
+ * 是否支持上传文件夹,仅在 chorme 下生效
381
+ */
382
+ webkitdirectory?: boolean;
383
+ }
384
+
385
+ export class Selecter extends React.Component<SelecterProps, any> {}
386
+
387
+ export class Uploader {
388
+ /**
389
+ * @param options 配置
390
+ */
391
+ constructor(options?: any);
392
+
393
+ /**
394
+ * 配置选项
395
+ * @param options 配置
396
+ */
397
+ setOptions(options: any): void;
398
+ /**
399
+ * 开始上传
400
+ * @param files 文件列表
401
+ */
402
+ startUpload(files: Array<any>): void;
403
+ /**
404
+ * 中断某个文件上传
405
+ * @param file 文件
406
+ */
407
+ abort(file: any): void;
408
+ }
409
+
410
+
411
+ export interface UploadProps extends HTMLAttributesWeak, CommonProps {
412
+ /**
413
+ * 上传的地址
414
+ */
415
+ action?: string;
416
+
417
+ /**
418
+ * 接受上传的文件类型 (image/png, image/jpg, .doc, .ppt) 详见 [input accept attribute](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input#attr-accept)
419
+ */
420
+ accept?: string;
421
+
422
+ /**
423
+ * 上传额外传参
424
+ */
425
+ data?: any | (() => void);
426
+
427
+ /**
428
+ * 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件
429
+ */
430
+ multiple?: boolean;
431
+
432
+ /**
433
+ * 设置上传的请求头部
434
+ */
435
+ headers?: any;
436
+
437
+ /**
438
+ * 是否允许请求携带 cookie
439
+ */
440
+ withCredentials?: boolean;
441
+
442
+
443
+ /**
444
+ * 可选参数,详见 [beforeUpload](#beforeUpload)
445
+ * @en Optional parameters, see [beforeUpload](#beforeUpload)
446
+ * @param file - 所有文件 - all file
447
+ * @param options - 参数 - parameters
448
+ * @defaultValue func.noop
449
+ */
450
+ beforeUpload?: (file: UploadFile, options: BeforeUploadOption) => boolean | object | unknown;
451
+
452
+
453
+ /**
454
+ * 上传中
455
+ * @en onProgress Callback
456
+ * @defaultValue func.noop
457
+ */
458
+ onProgress?: (file: ObjectFile[], e: ObjectFile) => void;
459
+
460
+ /**
461
+ * 可选参数,上传成功回调函数,参数为请求下响应信息以及文件
462
+ * @en Optional parameters, upload success callback function, the parameter is the response information and file
463
+ * @param file - 文件 - file
464
+ * @param value - 值 - value
465
+ * @defaultValue func.noop
466
+ */
467
+ onSuccess?: (file: ObjectFile, value?: ObjectFile[]) => void;
468
+
469
+ /**
470
+ * 可选参数,上传失败回调函数,参数为上传失败的信息、响应信息以及文件
471
+ * @en Optional parameters, upload failure callback function, the parameter is the upload failure information, response information and file
472
+ * @param file - 出错的文件 - error file
473
+ * @param value - 当前值 - current value
474
+ * @defaultValue func.noop
475
+ */
476
+ onError?: (error: UploadError, res?:any, file?:any) => void;
477
+
478
+
479
+ /**
480
+ * 子元素
481
+ */
482
+ children?: React.ReactNode;
483
+
484
+ /**
485
+ * 设置上传超时,单位ms
486
+ */
487
+ timeout?: number;
488
+
489
+ /**
490
+ * 上传方法
491
+ */
492
+ method?: 'post' | 'put';
493
+
494
+ /**
495
+ * 自定义上传方法
496
+ */
497
+ request?: (option: any) => any;
498
+
499
+ /**
500
+ * 文件名字段
501
+ */
502
+ name?: string;
503
+
504
+
505
+ /**
506
+ * 选择文件回调
507
+ * @en Select file callback
508
+ * @defaultValue func.noop
509
+ */
510
+ onSelect?: (uploadFiles: any[]) => any;
511
+
512
+ /**
513
+ * 放文件
514
+ * @en Drop file
515
+ * @defaultValue func.noop
516
+ */
517
+ onDrop?: (files: UploadFile[]) => void;
518
+
519
+
520
+ /**
521
+ * 样式前缀
522
+ */
523
+ prefix?: string;
524
+
525
+ /**
526
+ * 文件列表
527
+ */
528
+ value?: Array<any>;
529
+
530
+ /**
531
+ * 默认文件列表
532
+ */
533
+ defaultValue?: Array<any>;
534
+
535
+ /**
536
+ * 上传按钮形状
537
+ */
538
+ shape?: 'card';
539
+
540
+ /**
541
+ * 上传列表的样式
542
+ */
543
+ listType?: 'text' | 'image' | 'card';
544
+
545
+ /**
546
+ * 数据格式化函数,配合自定义 action 使用,参数为服务器的响应数据,详见 [formatter](#formater)
547
+ */
548
+ formatter?: (response: any, file: any) => void;
549
+
550
+ /**
551
+ * 自定义渲染List的图标
552
+ * @param img
553
+ * @param imgURL
554
+ * @param file
555
+ */
556
+ thumbnailRender?: (img:any, imgURL:any, file:any)=> any;
557
+
558
+ /**
559
+ * 最大文件上传个数
560
+ */
561
+ limit?: number;
562
+
563
+ /**
564
+ * 可选参数,是否支持拖拽上传,`ie10+` 支持。
565
+ */
566
+ dragable?: boolean;
567
+
568
+ /**
569
+ * 可选参数,是否本地预览
570
+ */
571
+ useDataURL?: boolean;
572
+
573
+ /**
574
+ * 可选参数,是否禁用上传功能
575
+ */
576
+ disabled?: boolean;
577
+
578
+ /**
579
+ * 上传文件改变时的状态
580
+ */
581
+ onChange?: (value: File[]) => void;
582
+
583
+ /**
584
+ * 可选参数, 用于校验文件,afterSelect仅在 autoUpload=false 的时候生效,autoUpload=true时,可以使用beforeUpload完全可以替代该功能.
585
+ */
586
+ afterSelect?: (file: any) => boolean;
587
+
588
+ /**
589
+ * 移除文件回调函数
590
+ */
591
+ onRemove?: (file: any) => boolean | any;
592
+
593
+ /**
594
+ * 自定义额外渲染
595
+ */
596
+ extraRender?: (file: File) => any;
597
+ /**
598
+ * 自定义文件名渲染
599
+ */
600
+ fileNameRender?: (file: File) => any;
601
+ /**
602
+ * 自定义操作区域渲染
603
+ */
604
+ actionRender?: (file: ObjectFile) => any;
605
+ /**
606
+ * 自定义class
607
+ */
608
+ className?: string;
609
+
610
+ /**
611
+ * 自定义内联样式
612
+ */
613
+ style?: React.CSSProperties;
614
+
615
+ /**
616
+ * 自动上传
617
+ */
618
+ autoUpload?: boolean;
619
+
620
+ /**
621
+ * 透传给Progress props
622
+ */
623
+ progressProps?: ProgressProps;
624
+
625
+ /**
626
+ * 是否为预览态
627
+ */
628
+ isPreview?: boolean;
629
+
630
+ /**
631
+ * 预览态模式下渲染的内容
632
+ */
633
+ renderPreview?: (value: number) => void;
634
+
635
+ /**
636
+ * 文件对象的 key name
637
+ */
638
+ fileKeyName?: string;
639
+
640
+ /**
641
+ * 点击图片回调
642
+ * @en Click image callback
643
+ * @skip
644
+ */
645
+ onPreview?: (file: UploadFile, e?: MouseEvent<HTMLElement>) => void;
646
+
647
+ /**
648
+ * 点击文件名时触发 onPreview
649
+ * @version 1.24
650
+ */
651
+ previewOnFileName?: boolean;
652
+
653
+ /**
654
+ * 自定义成功和失败的列表渲染方式,仅在 listType 是 card/image 时生效
655
+ * @en Customize success and failure list rendering, only in listType is card or image
656
+ */
657
+ itemRender?: (file: UploadFile, action?: { remove?: () => void }) => ReactNode;
658
+
659
+ /**
660
+ * 选择新文件上传并替换
661
+ */
662
+ reUpload?: boolean;
663
+ webkitdirectory?: boolean;
664
+ }
665
+
666
+ export enum ErrorCode {
667
+ EXCEED_LIMIT = 'EXCEED_LIMIT',
668
+ BEFOREUPLOAD_REJECT = 'BEFOREUPLOAD_REJECT',
669
+ RESPONSE_FAIL = 'RESPONSE_FAIL',
670
+ }
671
+
672
+ export default class Upload extends React.Component<UploadProps, any> {
673
+ static Card: typeof Card;
674
+ static Dragger: typeof Dragger;
675
+ static Selecter: typeof Selecter;
676
+ static Uploader: typeof Uploader;
677
+ static SimpleJSONUpload: typeof SimpleJSONUpload;
678
+ static ErrorCode: typeof ErrorCode;
679
+
680
+ /**
681
+ * 添加文件
682
+ * @param files
683
+ */
684
+ selectFiles: (file: File) => void;
685
+ /**
686
+ * 控制文件上传
687
+ */
688
+ startUpload: () => void;
689
+ /**
690
+ * 控制文件上传
691
+ * @param file 文件
692
+ */
693
+ uploadFiles: (file: File) => void;
694
+ /**
695
+ * 替换文件
696
+ */
697
+ replaceFiles: (old: object, current: object) => void;
698
+ /**
699
+ * 上传状态
700
+ */
701
+ isUploading: () => boolean;
702
+ /**
703
+ * 中断某个文件上传
704
+ * @param file 文件
705
+ */
706
+ abort: (file: File) => void;
707
+ }