antd-form-document 0.1.0

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 (80) hide show
  1. package/.yarnignore +9 -0
  2. package/README.md +1133 -0
  3. package/dist/applets/index.d.ts +35 -0
  4. package/dist/applets/index.d.ts.map +1 -0
  5. package/dist/components/Checkbox/index.d.ts +10 -0
  6. package/dist/components/Checkbox/index.d.ts.map +1 -0
  7. package/dist/components/DatePicker/index.d.ts +7 -0
  8. package/dist/components/DatePicker/index.d.ts.map +1 -0
  9. package/dist/components/Duration/index.d.ts +8 -0
  10. package/dist/components/Duration/index.d.ts.map +1 -0
  11. package/dist/components/Editor/index.d.ts +7 -0
  12. package/dist/components/Editor/index.d.ts.map +1 -0
  13. package/dist/components/InputNumber/index.d.ts +7 -0
  14. package/dist/components/InputNumber/index.d.ts.map +1 -0
  15. package/dist/components/Label/index.d.ts +6 -0
  16. package/dist/components/Label/index.d.ts.map +1 -0
  17. package/dist/components/Radio/index.d.ts +10 -0
  18. package/dist/components/Radio/index.d.ts.map +1 -0
  19. package/dist/components/Select/index.d.ts +11 -0
  20. package/dist/components/Select/index.d.ts.map +1 -0
  21. package/dist/components/Switch/index.d.ts +7 -0
  22. package/dist/components/Switch/index.d.ts.map +1 -0
  23. package/dist/components/Table/index.d.ts +7 -0
  24. package/dist/components/Table/index.d.ts.map +1 -0
  25. package/dist/components/Text/index.d.ts +7 -0
  26. package/dist/components/Text/index.d.ts.map +1 -0
  27. package/dist/components/TextArea/index.d.ts +7 -0
  28. package/dist/components/TextArea/index.d.ts.map +1 -0
  29. package/dist/components/TimePicker/index.d.ts +7 -0
  30. package/dist/components/TimePicker/index.d.ts.map +1 -0
  31. package/dist/components/Tooltip/index.d.ts +6 -0
  32. package/dist/components/Tooltip/index.d.ts.map +1 -0
  33. package/dist/components/Upload/index.d.ts +6 -0
  34. package/dist/components/Upload/index.d.ts.map +1 -0
  35. package/dist/components/index.d.ts +16 -0
  36. package/dist/components/index.d.ts.map +1 -0
  37. package/dist/config.d.ts +20 -0
  38. package/dist/config.d.ts.map +1 -0
  39. package/dist/containers/Col/index.d.ts +4 -0
  40. package/dist/containers/Col/index.d.ts.map +1 -0
  41. package/dist/containers/Collapse/index.d.ts +4 -0
  42. package/dist/containers/Collapse/index.d.ts.map +1 -0
  43. package/dist/containers/Content/index.d.ts +4 -0
  44. package/dist/containers/Content/index.d.ts.map +1 -0
  45. package/dist/containers/Divider/index.d.ts +4 -0
  46. package/dist/containers/Divider/index.d.ts.map +1 -0
  47. package/dist/containers/Row/index.d.ts +4 -0
  48. package/dist/containers/Row/index.d.ts.map +1 -0
  49. package/dist/containers/Steps/index.d.ts +4 -0
  50. package/dist/containers/Steps/index.d.ts.map +1 -0
  51. package/dist/containers/index.d.ts +7 -0
  52. package/dist/containers/index.d.ts.map +1 -0
  53. package/dist/context.d.ts +3 -0
  54. package/dist/context.d.ts.map +1 -0
  55. package/dist/entity/Meta.d.ts +40 -0
  56. package/dist/entity/Meta.d.ts.map +1 -0
  57. package/dist/form/index.d.ts +95 -0
  58. package/dist/form/index.d.ts.map +1 -0
  59. package/dist/index.d.ts +5 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.tsx +4 -0
  62. package/dist/index.tsx.map +1 -0
  63. package/dist/preview/index.d.ts +7 -0
  64. package/dist/preview/index.d.ts.map +1 -0
  65. package/dist/service/ProComponent.d.ts +13 -0
  66. package/dist/service/ProComponent.d.ts.map +1 -0
  67. package/dist/service/UIComponent.d.ts +102 -0
  68. package/dist/service/UIComponent.d.ts.map +1 -0
  69. package/dist/service/UIListComponent.d.ts +17 -0
  70. package/dist/service/UIListComponent.d.ts.map +1 -0
  71. package/dist/service/WidgetComponent.d.ts +4 -0
  72. package/dist/service/WidgetComponent.d.ts.map +1 -0
  73. package/dist/service/index.d.ts +5 -0
  74. package/dist/service/index.d.ts.map +1 -0
  75. package/dist/utils/request.d.ts +4 -0
  76. package/dist/utils/request.d.ts.map +1 -0
  77. package/dist/utils/xml.d.ts +7 -0
  78. package/dist/utils/xml.d.ts.map +1 -0
  79. package/package.json +60 -0
  80. package/yarn-error.log +3919 -0
package/README.md ADDED
@@ -0,0 +1,1133 @@
1
+ # Antd-Form-Document
2
+
3
+ 基于[ant-design](https://ant.design/) [cn](https://ant-design.gitee.io/) 表单设计
4
+
5
+ ## 一、安装
6
+
7
+ ```shell
8
+ yarn add antd-form-document
9
+
10
+ npm install antd-form-document --save
11
+ ```
12
+
13
+ ## 二、示例
14
+
15
+ ```jsx
16
+ import FormDocument from 'antd-form-document';
17
+
18
+ const App = () => (
19
+ <FormDocument document={documentString} />
20
+ );
21
+
22
+ const App = () => {
23
+ const [form] = Form.useForm();
24
+ return <FormDocument
25
+ id={121}
26
+ form={form}
27
+ document={documentString}
28
+ collapse={true}
29
+ readonly={["name"]}}
30
+ initialValues={{name: "张三", xb: 'M', gender: "F", nationality:"778"}}
31
+ />
32
+ }
33
+ ```
34
+
35
+ ### XML Document 格式
36
+
37
+ ```xml
38
+ <?xml version="1.0" encoding="UTF-8"?>
39
+ <Form labelCol="8" wrapperCol="16" style="text-align: left; color: blue;" showTitle="true">
40
+ <Row>
41
+ <Col span="4"/>
42
+ <Col span="12">
43
+ <Steps direction="horizontal">
44
+ <Step title="基本信息" />
45
+ <Step title="扩展信息" />
46
+ <Step title="文件信息" />
47
+ </Steps>
48
+ </Col>
49
+ </Row>
50
+ <Content stepIndex="0">
51
+ <Divider orientation="left">基本信息填写</Divider>
52
+ <Row>
53
+ <Col span="12">
54
+ <Text code="code" title="编码">
55
+ <Compute>
56
+ <![CDATA[
57
+ return code ? 't_' + code: undefined;
58
+ ]]>
59
+ </Compute>
60
+ </Text>
61
+ </Col>
62
+ <Col span="12">
63
+ <Text code="name" title="姓名" placeholder="请输入姓名">
64
+ <Validates>
65
+ <Validate required="true" message="此项为必填项" />
66
+ </Validates>
67
+ </Text>
68
+ </Col>
69
+ <Col span="12">
70
+ <DatePicker code="birthday" title="出生日期" defaultValue="2000-10-01" placeholder="请输入出生日期">
71
+ <Validates>
72
+ <Validate required="true" message="此项为必填项" />
73
+ </Validates>
74
+ </DatePicker>
75
+ </Col>
76
+ <Col span="12">
77
+ <Radio code="gender" title="性别" defaultValue="M" placeholder="请选择" >
78
+ <Validates>
79
+ <Validate required="true" message="此项为必填项" />
80
+ </Validates>
81
+ <Options>
82
+ <Option value="M">男</Option>
83
+ <Option value="F">女</Option>
84
+ </Options>
85
+ </Radio>
86
+ </Col>
87
+ <Col span="12">
88
+ <Select code="nationality" title="民族" placeholder="请输入民族" remote="/design/dict/775">
89
+ <Validates>
90
+ <Validate required="true" message="此项为必填项" />
91
+ </Validates>
92
+ <Collection>
93
+ <![CDATA[
94
+ if (gender == 'M') {
95
+ return ['776', '777'];
96
+ } else if (gender == 'F') {
97
+ return ['778', '779'];
98
+ }
99
+ return ['776', '778'];
100
+ ]]>
101
+ </Collection>
102
+ </Select>
103
+ </Col>
104
+ </Row>
105
+ </Content>
106
+ <Content stepIndex="1">
107
+ <Divider orientation="left">扩展信息填写</Divider>
108
+ <Row>
109
+ <Col span="12">
110
+ <Text code="job" title="工作" placeholder="请输入工作">
111
+ <Validates>
112
+ <Validate required="true" message="此项为必填项" />
113
+ </Validates>
114
+ </Text>
115
+ </Col>
116
+ <Col span="12">
117
+ <Text code="telephone" title="办公电话" placeholder="请输入办公电话" readonly="true">
118
+ <Validates>
119
+ <Validate required="true" message="此项为必填项" />
120
+ </Validates>
121
+ </Text>
122
+ </Col>
123
+ <Col span="12">
124
+ <Text code="mobile" title="手机" placeholder="请输入手机号码" hidden="true">
125
+ <Validates>
126
+ <Validate required="true" message="此项为必填项"/>
127
+ <Validate type="phone" message="请填写正确的手机号码"/>
128
+ </Validates>
129
+ </Text>
130
+ </Col>
131
+ </Row>
132
+ <Row>
133
+ <Col span="24">
134
+ <TextArea code="remark" title="备注" labelCol="4" wrapperCol="20" maxLength="100" placeholder="请输入备注" tips="按照要求填写备注!">
135
+ </TextArea>
136
+ </Col>
137
+ <Col span="24">
138
+ <Table code="group" title="组员" labelCol="4" wrapperCol="20">
139
+ <Columns>
140
+ <Column title="序号" dataIndex="index" />
141
+ <Column title="类型" dataIndex="item1" placeholder="请输入类型" />
142
+ <Column title="姓名" dataIndex="item2" placeholder="请输入姓名" />
143
+ </Columns>
144
+ </Table>
145
+ </Col>
146
+ </Row>
147
+ </Content>
148
+ <Content stepIndex="2">
149
+ <Divider orientation="left">文件信息填写</Divider>
150
+ <Row>
151
+ <Col span="12">
152
+ <Upload code="files" title="文件" maxCount="2" fileSize="2MB" fileType="image/png" fileTypeMessage="上传文件类型,仅支持图片类型!" placeholder="请输入文件" tips="按照要求填写文件!">
153
+ <Validates>
154
+ <Validate required="true" message="至少上次一份文件!"/>
155
+ </Validates>
156
+ </Upload>
157
+ </Col>
158
+ <Col span="12">
159
+ <Upload code="video" title="视频" maxCount="1" fileSize="1GB" fileType="video/mp4" fileTypeMessage="上传文件类型,仅支持视频类型!" placeholder="请输入视频" tips="按照要求填写视频!">
160
+ </Upload>
161
+ </Col>
162
+ <Col span="24">
163
+ <Editor code="words" title="文本说明" labelCol="4" wrapperCol="20" placeholder="请输入文本说明">
164
+ </Editor>
165
+ </Col>
166
+ </Row>
167
+ </Content>
168
+ </Form>
169
+ ```
170
+
171
+
172
+
173
+ ## 三、XML 文档说明
174
+
175
+ 通过把xml字符串文档,传入Design标签中,生成对应的antd组件及布局。并通过ref属性获得,form表单所录入内容。
176
+
177
+ ### 表单
178
+
179
+ #### **Form**
180
+
181
+ 表单
182
+
183
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
184
+ | ----------- | -------------------- | ------- | ------ | ------ |
185
+ | style | css表单样式 | string | - | |
186
+ | showTitle | 是否显示控件的标题`title` | boolean | true | - |
187
+ | labelCol | 全局`title` 标签布局 | number | - | |
188
+ | wrapperCol | 全局控件布局,同labelCol对应使用 | number | - | |
189
+
190
+ **例**
191
+
192
+ ```xml
193
+ <Form labelCol="8" wrapperCol="16" style="text-align: left; color: blue;" showTitle="true">
194
+ XXX子控件
195
+ </Form>
196
+ ```
197
+
198
+
199
+
200
+ ### 容器
201
+
202
+ 容器是对页面控件的位置定位布局
203
+
204
+ #### **Row**
205
+
206
+
207
+
208
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
209
+ | ------ | -------- | ------ | ------ | ------ |
210
+ | gutter | 栅格间隔 | number | - | |
211
+
212
+
213
+
214
+ #### **Col**
215
+
216
+
217
+
218
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
219
+ | ---- | ------------------------------------------- | ------ | ------ | ------ |
220
+ | span | 栅格占位格数,为 0 时相当于 `display: none` | number | - | ✓ |
221
+
222
+ **例:** Row与Col配合使用,对页面组件进行栅格化处理
223
+
224
+ ```xml
225
+ <Row gutter="8">
226
+ <Col span="24">col-24</Col>
227
+ </Row>
228
+ <Row gutter="10">
229
+ <Col span="12">col-12</Col>
230
+ <Col span="12">col-12</Col>
231
+ </Row>
232
+ <Row gutter="12">
233
+ <Col span="8">col-8</Col>
234
+ <Col span="8">col-8</Col>
235
+ <Col span="8">col-8</Col>
236
+ </Row>
237
+ <Row gutter="14">
238
+ <Col span="6">col-6</Col>
239
+ <Col span="6">col-6</Col>
240
+ <Col span="6">col-6</Col>
241
+ <Col span="6">col-6</Col>
242
+ </Row>
243
+ ```
244
+
245
+
246
+
247
+ #### **Divider**
248
+
249
+ 分割线
250
+
251
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
252
+ | ----------- | ---------------- | -------------------------- | ------ | ------ |
253
+ | dashed | 是否虚线 | boolean | false | - |
254
+ | orientation | 分割线标题的位置 | `left` 丨 `right` 丨 `center` | center | |
255
+
256
+ **例:**对不同章节的文本段落进行分割
257
+
258
+ ```xml
259
+ <Divider orientation="left">基本信息填写</Divider>
260
+ ```
261
+
262
+
263
+
264
+ #### **Steps**
265
+
266
+ 步骤条
267
+
268
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
269
+ | --------- | ------------------------------------------------------------ | -------------------------- | ------------ | ------ |
270
+ | direction | 指定步骤条方向。水平(`horizontal`)和竖直(`vertical`)方向 | `horizontal` 丨 `vertical` | `horizontal` | - |
271
+
272
+ ##### **Step**
273
+
274
+ 步骤条内的每一个步骤
275
+
276
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
277
+ | ----------- | -------------- | ------ | ------ | ------ |
278
+ | title | 标题 | string | - | ✓ |
279
+ | description | 步骤的详情描述 | string | - | |
280
+
281
+ ##### **Content**
282
+
283
+ 步骤条内容
284
+
285
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
286
+ | --------- | -------------- | ------ | ------ | ------ |
287
+ | style | css样式 | string | - | |
288
+ | stepIndex | 步骤条位置下标 | number | - | ✓ |
289
+
290
+ **例:**引导用户按照流程完成任务的导航条,切换步骤时,按Content 位置下标 stepIndex开始。stepIndex从0开始
291
+
292
+ ```xml
293
+ <Steps direction="horizontal">
294
+ <Step title="基本信息"/>
295
+ <Step title="扩展信息"/>
296
+ <Step title="文件信息"/>
297
+ </Steps>
298
+ <Content stepIndex="0">XXX</Content>
299
+ <Content stepIndex="1">XXX</Content>
300
+ <Content stepIndex="2">XXX</Content>
301
+ ```
302
+
303
+
304
+
305
+ #### **Collapse**
306
+
307
+ 折叠
308
+
309
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
310
+ | --------------- | -------------------- | ------- | ------ | ------ |
311
+ | style | css样式 | string | - | |
312
+ | defaultExpanded | 默认是否展开 | boolean | true | - |
313
+ | on | 展开名称;如:`展开` | string | - | ✓ |
314
+ | off | 合上名称;如:`收起` | string | - | ✓ |
315
+
316
+ **例:**
317
+
318
+ ```xml
319
+ <Collapse defaultExpanded="true" on="展开" off="收起">
320
+ XXX
321
+ </Collapse>
322
+ ```
323
+
324
+ - 注意:该控件为默认不生效,使用时需在 Design标签中,明确设置`collapse={true}`
325
+
326
+
327
+
328
+ #### **Tabs**
329
+
330
+ 标签页 — 暂缺
331
+
332
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
333
+ | ---- | ---- | ---- | ------ | ------ |
334
+ | | | | | |
335
+ | | | | | |
336
+ | | | | | |
337
+
338
+
339
+
340
+ #### **Card**
341
+
342
+ 卡片 — 暂缺
343
+
344
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
345
+ | ---- | ---- | ---- | ------ | ------ |
346
+ | | | | | |
347
+ | | | | | |
348
+ | | | | | |
349
+
350
+
351
+
352
+ ### 组件
353
+
354
+ 功能组件
355
+
356
+ #### **Label**
357
+
358
+ 标签
359
+
360
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
361
+ | ------ | -------- | ------- | ------ | ------ |
362
+ | style | css样式 | string | - | |
363
+ | title | 标题 | string | - | ✓ |
364
+ | hidden | 是否隐藏 | boolean | false | - |
365
+
366
+ **例:**
367
+
368
+ ```xml
369
+ <Label title="标题信息" />
370
+ ```
371
+
372
+ - 注意:该组件不包含任何子标签控件
373
+
374
+
375
+
376
+ #### **Tooltip**
377
+
378
+ 提示框
379
+
380
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
381
+ | ---------------- | -------- | ------- | ------ | ------ |
382
+ | style | css样式 | string | - | |
383
+ | title / children | 标题 | string | - | ✓ |
384
+ | hidden | 是否隐藏 | boolean | false | - |
385
+
386
+ **例1:**
387
+
388
+ ```xml
389
+ <Tooltip>提示信息</Tooltip>
390
+ ```
391
+
392
+ **例2:**
393
+
394
+ ```xml
395
+ <Tooltip title="提示信息">
396
+ XXX控件
397
+ </Tooltip>
398
+ ```
399
+
400
+
401
+
402
+ #### **Text**
403
+
404
+ 文本
405
+
406
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
407
+ | ------------- | ----------------------------- | ----------------------- | ------ | ---- |
408
+ | style | css样式 | string | - | |
409
+ | code | 字段编号全局唯一 | string | - | ✓ |
410
+ | title | 字段标题 | string | - | ✓ |
411
+ | type | 类型标记,不做验证 | `text` 丨 `url` 丨 `email` 丨 `phone` | `text` | |
412
+ | maxLength | 最大输入字符长度 | number | - | |
413
+ | placeholder | 输入框提示信息 | string | - | |
414
+ | defaultValue | 默认输入框内容 | string | - | |
415
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
416
+ | tips | 字段提示 | string | - | |
417
+ | hidden | 是否隐藏 | boolean | false | - |
418
+ | readonly | 是否只读 | boolean | false | - |
419
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
420
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
421
+ | allowClear | 是否有清除按钮 | boolean | false | - |
422
+ | showCount | 是否展示输入字数 | boolean | false | - |
423
+
424
+ **例:**
425
+
426
+ ```xml
427
+ <Text code="code" title="编码" labelSpan="8" wrapperSpan="16">
428
+ XXX子控件
429
+ </Text>
430
+ ```
431
+
432
+
433
+
434
+ #### **TextArea**
435
+
436
+ 文本域
437
+
438
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
439
+ | ------------ | ---------------------------------- | ------- | ------ | ------ |
440
+ | style | css样式 | string | - | |
441
+ | code | 字段编号全局唯一 | string | - | ✓ |
442
+ | title | 字段标题 | string | - | ✓ |
443
+ | maxLength | 最大输入字符长度 | number | - | |
444
+ | placeholder | 文本域提示信息 | string | - | |
445
+ | defaultValue | 默认文本域内容 | string | - | |
446
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
447
+ | tips | 字段提示 | string | - | |
448
+ | hidden | 是否隐藏 | boolean | false | - |
449
+ | readonly | 是否只读 | boolean | false | - |
450
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
451
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
452
+ | allowClear | 是否有清除按钮 | boolean | false | - |
453
+ | showCount | 是否展示输入字数 | boolean | false | - |
454
+
455
+ **例:**
456
+
457
+ ```xml
458
+ <TextArea code="remark" title="备注" labelCol="4" wrapperCol="20" maxLength="100" placeholder="请输入备注" tips="按照要求填写备注!">
459
+ XXX子控件
460
+ </TextArea>
461
+ ```
462
+
463
+
464
+
465
+ #### **Number**
466
+
467
+ 数值框
468
+
469
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
470
+ | ------------ | -------------------------------------- | ----------------------------------------------- | -------- | ------ |
471
+ | style | css样式 | string | - | |
472
+ | code | 字段编号全局唯一 | string | - | ✓ |
473
+ | title | 字段标题 | string | - | ✓ |
474
+ | type | 数值框类型,`数字、小数、货币、百分比` | `number` 丨 `digits` 丨 `money` 丨 `percentage` | `number` | - |
475
+ | precision | 数值精度,当`type`等于 `digits`时有效 | number | 2 | |
476
+ | max | 最大值 | number | - | |
477
+ | min | 最小值 | number | - | |
478
+ | defaultValue | 默认数值框内容 | string | - | |
479
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
480
+ | tips | 字段提示 | string | - | |
481
+ | hidden | 是否隐藏 | boolean | false | - |
482
+ | readonly | 是否只读 | boolean | false | - |
483
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
484
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
485
+
486
+ **例:**
487
+
488
+ ```xml
489
+ <Number code="num" title="数量" min="0" max="100" placeholder="请输入数量">
490
+ XXX子控件
491
+ </Number>
492
+ ```
493
+
494
+
495
+
496
+ #### **Editor**
497
+
498
+ 富文本
499
+
500
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
501
+ | ------------ | ---------------------------------- | ------- | ------ | ------ |
502
+ | style | css样式 | string | - | |
503
+ | code | 字段编号全局唯一 | string | - | ✓ |
504
+ | title | 字段标题 | string | - | |
505
+ | placeholder | 富文本提示信息 | string | - | |
506
+ | defaultValue | 默认富文本内容 | string | - | |
507
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
508
+ | tips | 字段提示 | string | - | |
509
+ | hidden | 是否隐藏 | boolean | false | - |
510
+ | readonly | 是否只读 | boolean | false | - |
511
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
512
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
513
+
514
+ **例:**
515
+
516
+ ```xml
517
+ <Editor code="words" placeholder="请输入文本">
518
+ XXX子控件
519
+ </Editor>
520
+ ```
521
+
522
+
523
+
524
+ #### **Select**
525
+
526
+ 选择框
527
+
528
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
529
+ | ------------ | ------------------------------------------------------------ | ------- | ------ | ------ |
530
+ | style | css样式 | string | - | |
531
+ | code | 字段编号全局唯一 | string | - | ✓ |
532
+ | title | 字段标题 | string | - | ✓ |
533
+ | multiple | 选择框是否可以多选 | boolean | false | |
534
+ | placeholder | 选择框提示信息 | string | - | |
535
+ | defaultValue | 默认选择框`value` | string | - | |
536
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
537
+ | tips | 字段提示 | string | - | |
538
+ | remote | 远程请求数据项url地址,优先级低于`<Options>`,响应数据以List<Map>内容为结果 | string | - | |
539
+ | hidden | 是否隐藏 | boolean | false | - |
540
+ | readonly | 是否只读 | boolean | false | - |
541
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
542
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
543
+ | allowClear | 是否有清除按钮 | boolean | true | - |
544
+
545
+ **例1:**
546
+
547
+ ```xml
548
+ <Select code="type" title="类型" remote="/api/getType" placeholder="请选择作品类型" tips="按照要求填写类型!">
549
+ XXX子控件
550
+ </Select>
551
+ ```
552
+
553
+ **例2:**
554
+
555
+ ```xml
556
+ <Select code="type" title="类型" multiple="true" defaultValue="1" placeholder="请选择作品类型" tips="按照要求填写类型!">
557
+ <Options>
558
+ <Option value="1">类型一</Option>
559
+ <Option value="2">类型二</Option>
560
+ </Options>
561
+ XXX子控件
562
+ </Select>
563
+ ```
564
+
565
+
566
+
567
+ #### **Checkbox**
568
+
569
+ 复选框
570
+
571
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
572
+ | ------------ | ------------------------------------------------------------ | ------- | ------ | ------ |
573
+ | style | css样式 | string | - | |
574
+ | code | 字段编号全局唯一 | string | - | ✓ |
575
+ | title | 字段标题 | string | - | ✓ |
576
+ | defaultValue | 默认复选框`value` | string | - | |
577
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
578
+ | tips | 字段提示 | string | - | |
579
+ | remote | 远程请求数据项url地址,优先级低于`<Options>`,响应数据以List<Map>内容为结果 | string | - | |
580
+ | hidden | 是否隐藏 | boolean | false | - |
581
+ | readonly | 是否只读 | boolean | false | - |
582
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
583
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
584
+
585
+ **例1:**
586
+
587
+ ```xml
588
+ <Checkbox code="type" title="类型" remote="/api/getType" placeholder="请选择作品类型" tips="按照要求填写类型!">
589
+ XXX子控件
590
+ </Checkbox>
591
+ ```
592
+
593
+ **例2:**
594
+
595
+ ```xml
596
+ <Checkbox code="type" title="类型" defaultValue="1" placeholder="请选择作品类型" tips="按照要求填写类型!">
597
+ <Options>
598
+ <Option value="1">类型一</Option>
599
+ <Option value="2">类型二</Option>
600
+ </Options>
601
+ XXX子控件
602
+ </Checkbox>
603
+ ```
604
+
605
+
606
+
607
+ #### **Radio**
608
+
609
+ 单选框
610
+
611
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
612
+ | ------------ | ------------------------------------------------------------ | -------------------- | ------- | ------ |
613
+ | style | css样式 | string | - | |
614
+ | code | 字段编号全局唯一 | string | - | ✓ |
615
+ | title | 字段标题 | string | - | ✓ |
616
+ | defaultValue | 默认单选框`value` | string | - | |
617
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
618
+ | tips | 字段提示 | string | - | |
619
+ | remote | 远程请求数据项url地址,优先级低于`<Options>`,响应数据以List<Map>内容为结果 | string | - | |
620
+ | hidden | 是否隐藏 | boolean | false | - |
621
+ | readonly | 是否只读 | boolean | false | - |
622
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
623
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
624
+ | optionType | 按钮风格:`默认风格`、`按钮风格` | `default` 丨 `button` | `default` | |
625
+
626
+ **例1:**
627
+
628
+ ```xml
629
+ <Radio code="gender" title="性别" remote="/api/getGender" defaultValue="M" placeholder="请选择性别">
630
+ XXX子控件
631
+ </Radio>
632
+ ```
633
+
634
+ **例2:**
635
+
636
+ ```xml
637
+ <Radio code="gender" title="性别" defaultValue="M" placeholder="请选择性别">
638
+ <Options>
639
+ <Option value="M">男</Option>
640
+ <Option value="F">女</Option>
641
+ </Options>
642
+ XXX子控件
643
+ </Radio>
644
+ ```
645
+
646
+
647
+
648
+ #### **Switch**
649
+
650
+ 开关
651
+
652
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
653
+ | ------------ | ---------------------------------- | ------- | ------ | ------ |
654
+ | style | css样式 | string | - | |
655
+ | code | 字段编号全局唯一 | string | - | ✓ |
656
+ | title | 字段标题 | string | - | ✓ |
657
+ | defaultValue | 默认开关`value` | boolean | - | |
658
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
659
+ | tips | 字段提示 | string | - | |
660
+ | hidden | 是否隐藏 | boolean | false | - |
661
+ | readonly | 是否只读 | boolean | false | - |
662
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
663
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
664
+
665
+ **例:**
666
+
667
+ ```xml
668
+ <Switch code="on" title="是否允许">
669
+ XXX子控件
670
+ </Switch>
671
+ ```
672
+
673
+
674
+
675
+ #### **Duration**
676
+
677
+ 时长
678
+
679
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
680
+ | ------------ | ---------------------------------- | ------- | --------- | ------ |
681
+ | style | css样式 | string | - | |
682
+ | code | 字段编号全局唯一 | string | - | ✓ |
683
+ | title | 字段标题 | string | - | ✓ |
684
+ | defaultValue | 默认时长`value` | string | 000:00:00 | - |
685
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
686
+ | tips | 字段提示 | string | - | |
687
+ | hidden | 是否隐藏 | boolean | false | - |
688
+ | readonly | 是否只读 | boolean | false | - |
689
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
690
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
691
+
692
+ **例:**
693
+
694
+ ```xml
695
+ <Duration code="duration" title="时长">
696
+ XXX子控件
697
+ </Duration>
698
+ ```
699
+
700
+
701
+
702
+ #### **DatePicker**
703
+
704
+ 日期选择器
705
+
706
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
707
+ | ------------ | ------------------------------------------------------------ | -------------------------------------------------- | ---------- | ------ |
708
+ | style | css样式 | string | - | |
709
+ | code | 字段编号全局唯一 | string | - | ✓ |
710
+ | title | 字段标题 | string | - | ✓ |
711
+ | type | 日期选择框类型,`日期`、`星期`、`月份`、`季度`、`年份` | `date` 丨 `week` 丨 `month` 丨 `quarter` 丨 `year` | `date` | - |
712
+ | format | 日期显示格式,[moment](http://momentjs.cn/docs/#/displaying/format/)格式 | string | YYYY-MM-DD | - |
713
+ | showTime | 显示时间选择功能 | boolean | false | - |
714
+ | placeholder | 日期选择框提示信息 | string | - | |
715
+ | defaultValue | 默认日期选择框`value`,格式`YYYY-MM-DD` | string | - | |
716
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
717
+ | tips | 字段提示 | string | - | |
718
+ | hidden | 是否隐藏 | boolean | false | - |
719
+ | readonly | 是否只读 | boolean | false | - |
720
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
721
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
722
+ | allowClear | 是否有清除按钮 | boolean | true | - |
723
+
724
+ **例:**
725
+
726
+ ```xml
727
+ <DatePicker code="date" title="日期" defaultValue="2000-01-01" placeholder="请输入日期">
728
+ XXX子控件
729
+ </DatePicker>
730
+ ```
731
+
732
+
733
+
734
+ #### **TimePicker**
735
+
736
+ 时间选择器
737
+
738
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
739
+ | ------------ | ------------------------------------------------------------ | ------- | -------- | ------ |
740
+ | style | css样式 | string | - | |
741
+ | code | 字段编号全局唯一 | string | - | ✓ |
742
+ | title | 字段标题 | string | - | ✓ |
743
+ | format | 时间显示格式,[moment](http://momentjs.cn/docs/#/displaying/format/)格式 | string | HH:mm:ss | - |
744
+ | placeholder | 时间选择框提示信息 | string | - | |
745
+ | defaultValue | 默认时间选择器`value`,格式`HH:mm:ss` | string | - | |
746
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
747
+ | tips | 字段提示 | string | - | |
748
+ | hidden | 是否隐藏 | boolean | false | - |
749
+ | readonly | 是否只读 | boolean | false | - |
750
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
751
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
752
+ | allowClear | 是否有清除按钮 | boolean | true | - |
753
+
754
+ **例:**
755
+
756
+ ```xml
757
+ <TimePicker code="time" title="时间" placeholder="请输入时间">
758
+ XXX子控件
759
+ </TimePicker>
760
+ ```
761
+
762
+
763
+
764
+ #### RangePicker
765
+
766
+ 时间范围选择器 — 暂缺
767
+
768
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
769
+ | ---- | ---- | ---- | ------ | ------ |
770
+ | | | | | |
771
+ | | | | | |
772
+ | | | | | |
773
+
774
+
775
+
776
+ #### **Upload**
777
+
778
+ 上传
779
+
780
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
781
+ | --------------- | ------------------------------------------------------------ | ------- | ------ | ------ |
782
+ | style | css样式 | string | - | |
783
+ | code | 字段编号全局唯一 | string | - | ✓ |
784
+ | title | 字段标题 | string | - | ✓ |
785
+ | action | 暂缺 | string | - | ✓ |
786
+ | multiple | 暂缺 | boolean | false | - |
787
+ | maxCount | 最大上传文件个数 | number | - | |
788
+ | fileSize | 单个文件最大字节;`1B`、`1KB`、`1MB`、`1GB`、`1TB`、`1PB` | string | - | |
789
+ | fileType | 上传文件类型;[mime-type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept) | string | - | |
790
+ | fileTypeMessage | 上传文件类型提示说明 | string | - | |
791
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
792
+ | tips | 字段提示 | string | - | |
793
+ | hidden | 是否隐藏 | boolean | false | - |
794
+ | readonly | 是否只读 | boolean | false | - |
795
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
796
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
797
+
798
+ **例:**
799
+
800
+ ```xml
801
+ <Upload code="files" title="文件" maxCount="2" fileSize="2MB" fileType="image/png" fileTypeMessage="上传文件类型,仅支持图片类型!" tips="按照要求上传文件!">
802
+ XXX子控件
803
+ </Upload>
804
+ ```
805
+
806
+
807
+
808
+ #### **Table**
809
+
810
+ 表格
811
+
812
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
813
+ | ----------- | ---------------------------------- | ------- | ------ | ------ |
814
+ | style | css样式 | string | - | |
815
+ | code | 字段编号全局唯一 | string | - | ✓ |
816
+ | title | 字段标题 | string | - | ✓ |
817
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
818
+ | tips | 字段提示 | string | - | |
819
+ | hidden | 是否隐藏 | boolean | false | - |
820
+ | readonly | 是否只读 | boolean | false | - |
821
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
822
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
823
+
824
+
825
+
826
+ #### **Columns**
827
+
828
+ 表格列集合
829
+
830
+ ##### **Column**
831
+
832
+ 表格列内容
833
+
834
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
835
+ | ----------- | ------------------------------- | ------ | ------ | ------ |
836
+ | title | 表列标题 | string | - | ✓ |
837
+ | type | 暂缺 | string | `text` | - |
838
+ | dataIndex | 数据索引 `index`、`item1~item2` | string | - | ✓ |
839
+ | placeholder | 表列提示信息 | string | - | |
840
+
841
+ **例:**
842
+
843
+ ```xml
844
+ <Table code="group" title="组员">
845
+ <Columns>
846
+ <Column title="序号" dataIndex="index" />
847
+ <Column title="类型" dataIndex="item1" placeholder="请输入类型" />
848
+ <Column title="姓名" dataIndex="item2" placeholder="请输入姓名"> XXX子控件 </Column>
849
+ </Columns>
850
+ XXX子控件
851
+ </Table>
852
+ ```
853
+
854
+ #### 注:
855
+
856
+ - `defaultHide`:通过脚本条件`显示`或`隐藏`。并且在隐藏状态下,form不会获得值信息。
857
+ - `hidden`:不能通过脚本控制`显示`或`隐藏`,只能通过传参方式控制显示或隐藏。form可以获得值信息。
858
+
859
+
860
+
861
+ ### 控件
862
+
863
+ 应用程序
864
+
865
+
866
+
867
+ #### **Validates**
868
+
869
+ 验证集合
870
+
871
+ ##### Validate
872
+
873
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
874
+ | --------- | --------------------------------------------------------- | ------------------------------------------------------------ | ------ | ------ |
875
+ | type | 验证类型 | `string` 丨 `number` 丨 `integer` 丨 `float` 丨 `boolean` 丨 `url` 丨 `email` 丨 `phone` 丨 `date` 丨 `regexp` | string | - |
876
+ | required | 是否为必选字段 | boolean | - | |
877
+ | minlength | `type`:string 类型为字符串最小长度 | number | - | |
878
+ | maxlength | `type`:string 类型为字符串最大长度 | number | - | |
879
+ | min | `type`:number 类型时为最小值;array 类型时为数组最小长度 | number | - | |
880
+ | max | `type`:number 类型时为最大值;array 类型时为数组最大长度 | number | - | |
881
+ | pattern | `type`:regexp 类型时,使用正则表达式匹配 | RegExp | - | |
882
+ | message | 触发验证提示信息 | string | - | ✓ |
883
+
884
+ **例:**
885
+
886
+ ```xml
887
+ <Validates>
888
+ <Validate required="true" message="此项为必填项"/>
889
+ <Validate minlength="3" maxlength="50" message="输入字符长度要在3与50之间!"/>
890
+ <Validate type="phone" message="请填写正确的手机号码"/>
891
+ </Validates>
892
+ ```
893
+
894
+
895
+
896
+ #### **Conditions**
897
+
898
+ 条件集合
899
+
900
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
901
+ | ------ | ------------------------ | ---------- | ------ | ------ |
902
+ | action | 执行动作,`显示`、`隐藏` | `show` 丨 `hide` | - | ✓ |
903
+ | type | 条件类型:`并`、`或` | `and` 丨 `or` | - | ✓ |
904
+
905
+ ##### Condition
906
+
907
+ 条件
908
+
909
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
910
+ | ---- | ---------- | ------ | ------ | ------ |
911
+ | test | 判断表达式 | string | - | ✓ |
912
+
913
+ **例:**
914
+
915
+ ```xml
916
+ <Conditions action="hide" type="and">
917
+ <Condition test="gender==='F'" />
918
+ <Condition test="nationality==='777'" />
919
+ </Conditions>
920
+ ```
921
+
922
+
923
+
924
+ #### **Collection**
925
+
926
+ 集合:通过条件过滤组件中选项
927
+
928
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
929
+ | ---- | ---- | ---- | ------ | ------ |
930
+
931
+ **例:**
932
+
933
+ ```xml
934
+ <Collection>
935
+ <![CDATA[
936
+ if (gender == 'M') {
937
+ return ['776', '777'];
938
+ } else if (gender == 'F') {
939
+ return ['778', '779'];
940
+ }
941
+ return ['776', '778'];
942
+ ]]>
943
+ </Collection>
944
+ ```
945
+
946
+ **注:**仅`Select`、`Checkbox`、`Radio`组件支持该子控件
947
+
948
+
949
+
950
+ #### **Compute**
951
+
952
+ 计算:结果赋值个value
953
+
954
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
955
+ | ---- | ---- | ---- | ------ | ------ |
956
+
957
+ **例1:**
958
+
959
+ ```xml
960
+ <Compute>
961
+ <![CDATA[
962
+ return code ? 't_' + code : undefined;
963
+ ]]>
964
+ </Compute>
965
+ ```
966
+
967
+ **例2:**
968
+
969
+ ```xml
970
+ <Compute>
971
+ <![CDATA[
972
+ return startDate ? moment().diff(moment(endDate),'years') : undefined;
973
+ ]]>
974
+ </Compute>
975
+ ```
976
+
977
+ **注:**支持[moment](http://momentjs.cn)使用
978
+
979
+
980
+
981
+ #### **Options**
982
+
983
+ 选项集合
984
+
985
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
986
+ | ---- | ---- | ---- | ------ | ------ |
987
+
988
+ ##### **Option**
989
+
990
+ 选项内容
991
+
992
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
993
+ | -------- | -------- | ------ | ------ | ------ |
994
+ | value | 选项值 | string | - | ✓ |
995
+ | children | 选项标题 | string | - | ✓ |
996
+
997
+ **例:**
998
+
999
+ ```xml
1000
+ <Options>
1001
+ <Option value="M">男</Option>
1002
+ <Option value="F">女</Option>
1003
+ </Options>
1004
+ ```
1005
+
1006
+ **注:**仅`Select`、`Checkbox`、`Radio`组件支持该子控件
1007
+
1008
+
1009
+
1010
+ ## 四、应用
1011
+
1012
+
1013
+
1014
+ ### **FormDesign标签**
1015
+
1016
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
1017
+ | -------- | ------------------------------------------------------------ | ----------------------------- | ------ | ------ |
1018
+ | document | xml document 由`容器`、`组件`、`控件`组成 | string | - | ✓ |
1019
+ | form | form 控制实例,不提供时会自动创建 | React.RefObject<FormInstance> | - | |
1020
+ | preview | 是否启用预览模式 | boolean | false | - |
1021
+ | collapse | 是否显示启用展示标签`<Collapse>` | boolean | false | - |
1022
+ | readonly | `boolean`:是否开启只读模式;`array`:开启只读模式,并以数组方式,指定需要只读字段;`object`:开启只读模式,并以对象方式,指定需要只读字段; | `boolean`丨`array`丨`object` | false | - |
1023
+ | hidden | `boolean`:是否开启隐藏模式;`array`:开启隐藏模式,并以数组方式,指定需要隐藏字段;`object`:开启隐藏模式,并以对象方式,指定需要隐藏字段; | `boolean`丨`array`丨`object` | false | - |
1024
+ | params | 附加`fetch`请求的参数 | object | - | |
1025
+ | 自定义 | 自定义标签属性及参数,可通过`context`方式获取 | any | - | |
1026
+
1027
+ **例:**
1028
+
1029
+ ```xml
1030
+ <FormDocument
1031
+ id={1}
1032
+ form={form}
1033
+ document={documentString}
1034
+ collapse={true}
1035
+ readonly={['gender', 'code']}
1036
+ initialValues={{name: "张三", gender: 'M'}}
1037
+ />
1038
+ ```
1039
+
1040
+
1041
+
1042
+ ### Config配置
1043
+
1044
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
1045
+ | ---------- | ---------- | ------ | ------ | ------ |
1046
+ | components | 自定义组件 | object | - | |
1047
+ | request | 请求参数 | object | - | |
1048
+ | file | 文件参数 | object | - | |
1049
+
1050
+ **例:**
1051
+
1052
+ ```js
1053
+ export default defineConfig({
1054
+ // 注册自定义组件
1055
+ components: {
1056
+ Department,
1057
+ UploadList
1058
+ },
1059
+ request: {
1060
+ prefix: "api",
1061
+ },
1062
+ file: {
1063
+ listUrl: "'/api/fileList'",
1064
+ downloadUrl: "/api/fileDownload",
1065
+ uploadUrl: "/api/file/upload"
1066
+ }
1067
+ });
1068
+ ```
1069
+
1070
+
1071
+
1072
+ ### 自定义组件
1073
+
1074
+ #### Department
1075
+
1076
+ 部门
1077
+
1078
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
1079
+ | ------------ | ---------------------------------- | ------- | ------ | ------ |
1080
+ | style | css样式 | string | - | |
1081
+ | code | 字段编号全局唯一 | string | - | ✓ |
1082
+ | title | 字段标题 | string | - | ✓ |
1083
+ | placeholder | 选择框提示信息 | string | - | |
1084
+ | defaultValue | 默认选择框`value` | string | - | |
1085
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
1086
+ | tips | 字段提示 | string | - | |
1087
+ | hidden | 是否隐藏 | boolean | false | - |
1088
+ | readonly | 是否只读 | boolean | false | - |
1089
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
1090
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
1091
+
1092
+ **例:**
1093
+
1094
+ ```xml
1095
+ <Department code="department" title="部门" placeholder="请选择部门" remote="/api/getDepartment">
1096
+ <Validates>
1097
+ <Validate required="true" message="此项为必填项" />
1098
+ </Validates>
1099
+ </Department>
1100
+ ```
1101
+
1102
+
1103
+
1104
+ #### UploadList
1105
+
1106
+ 上传列表
1107
+
1108
+ | 参数 | 说明 | 类型 | 默认值 | 必填项 |
1109
+ | --------------- | ------------------------------------------------------------ | ------- | ------ | ------ |
1110
+ | style | css样式 | string | - | |
1111
+ | code | 字段编号全局唯一 | string | - | ✓ |
1112
+ | title | 字段标题 | string | - | ✓ |
1113
+ | maxCount | 最大上传文件个数 | number | - | |
1114
+ | fileSize | 单个文件最大字节;`1B`、`1KB`、`1MB`、`1GB`、`1TB`、`1PB` | string | - | |
1115
+ | fileType | 上传文件类型;[mime-type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept) | string | - | |
1116
+ | fileTypeMessage | 上传文件类型提示说明 | string | - | |
1117
+ | defaultHide | 默认是否隐藏 | boolean | false | - |
1118
+ | tips | 字段提示 | string | - | |
1119
+ | hidden | 是否隐藏 | boolean | false | - |
1120
+ | readonly | 是否只读 | boolean | false | - |
1121
+ | labelCol | `title`布局,与同 `<Col>` 组件设置 | number | - | |
1122
+ | wrapperCol | 组件布局,同 `<Col>` 组件设置 | number | - | |
1123
+
1124
+ **例:**
1125
+
1126
+ ```xml
1127
+ <UploadList code="uploadList" title="附件" labelSpan="4" wrapperSpan="20" fileType="application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf" fileSize="20MB" maxCount="5" fileTypeMessage="上传文件类型,仅支持word、pdf类型!">
1128
+ <Validates>
1129
+ <Validate required="true" message="此项为必填项" />
1130
+ </Validates>
1131
+ </UploadList>
1132
+ ```
1133
+