@cloudbase/weda-ui 0.2.17 → 1.0.21

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 (138) hide show
  1. package/README.md +3 -0
  2. package/package.json +6 -3
  3. package/src/configs/components/calendar.json +4 -1
  4. package/src/configs/components/chart/bar.json +19 -6
  5. package/src/configs/components/chart/line.json +19 -6
  6. package/src/configs/components/chart/pie.json +14 -4
  7. package/src/configs/components/chart/statisticsCard.json +61 -13
  8. package/src/configs/components/container.json +7 -2
  9. package/src/configs/components/dataView.json +21 -6
  10. package/src/configs/components/form/checkbox.json +97 -5
  11. package/src/configs/components/form/radio.json +96 -4
  12. package/src/configs/components/form/select.json +245 -11
  13. package/src/configs/components/graphicCard.json +84 -73
  14. package/src/configs/components/image.json +7 -2
  15. package/src/configs/components/link.json +19 -3
  16. package/src/configs/components/listView.json +63 -17
  17. package/src/configs/components/modal.json +37 -5
  18. package/src/configs/components/navLayout.json +87 -75
  19. package/src/configs/components/navigationBar.json +59 -0
  20. package/src/configs/components/richtextview.json +4 -1
  21. package/src/configs/components/scrollVeiw.json +74 -22
  22. package/src/configs/components/swiper.json +4 -1
  23. package/src/configs/components/tabs.json +51 -8
  24. package/src/configs/components/text.json +33 -25
  25. package/src/configs/components/wxOpenApi/phone.json +141 -0
  26. package/src/configs/components/wxOpenApi/phoneCode.json +121 -0
  27. package/src/configs/components/wxOpenApi/share.json +167 -0
  28. package/src/configs/components/wxOpenApi/userInfo.json +174 -0
  29. package/src/configs/index.js +11 -0
  30. package/src/mp/components/chart/bar/index.js +6 -2
  31. package/src/mp/components/chart/common/core/eChartBar.js +9 -8
  32. package/src/mp/components/chart/common/core/eChartBase.js +20 -16
  33. package/src/mp/components/chart/common/core/eChartLine.js +6 -5
  34. package/src/mp/components/chart/line/index.js +10 -6
  35. package/src/mp/components/chart/pie/index.js +6 -2
  36. package/src/mp/components/chart/statisticsCard/index.js +33 -6
  37. package/src/mp/components/dataView/index.json +1 -1
  38. package/src/mp/components/form/checkbox/index.js +41 -2
  39. package/src/mp/components/form/checkbox/index.wxml +1 -1
  40. package/src/mp/components/form/input/index.js +1 -1
  41. package/src/mp/components/form/location/index.js +43 -2
  42. package/src/mp/components/form/radio/index.js +34 -1
  43. package/src/mp/components/form/select/index.js +360 -40
  44. package/src/mp/components/form/select/index.wxml +17 -2
  45. package/src/mp/components/form/select/region/index.js +98 -0
  46. package/src/mp/components/form/uploader/index.js +39 -27
  47. package/src/mp/components/form/uploaderFile/index.js +10 -6
  48. package/src/mp/components/listView/index.js +33 -27
  49. package/src/mp/components/listView/index.wxml +1 -1
  50. package/src/mp/components/listView/index.wxss +5 -0
  51. package/src/mp/components/navigationBar/index.js +193 -0
  52. package/src/mp/components/navigationBar/index.json +6 -0
  53. package/src/mp/components/navigationBar/index.wxml +88 -0
  54. package/src/mp/components/navigationBar/index.wxss +1257 -0
  55. package/src/mp/components/tabs/index.js +7 -2
  56. package/src/mp/components/tabs/index.wxml +2 -1
  57. package/src/mp/components/text/index.js +0 -25
  58. package/src/mp/components/text/index.wxml +3 -3
  59. package/src/mp/components/wxOpenApi/phone/index.js +117 -0
  60. package/src/mp/components/{internals/listView → wxOpenApi/phone}/index.json +0 -0
  61. package/src/mp/components/wxOpenApi/phone/index.wxml +15 -0
  62. package/src/mp/components/wxOpenApi/phone/index.wxss +22 -0
  63. package/src/mp/components/wxOpenApi/phoneCode/index.js +89 -0
  64. package/src/mp/components/wxOpenApi/phoneCode/index.json +4 -0
  65. package/src/mp/components/wxOpenApi/phoneCode/index.wxml +15 -0
  66. package/src/mp/components/wxOpenApi/phoneCode/index.wxss +22 -0
  67. package/src/mp/components/wxOpenApi/share/index.js +117 -0
  68. package/src/mp/components/wxOpenApi/share/index.json +4 -0
  69. package/src/mp/components/wxOpenApi/share/index.wxml +15 -0
  70. package/src/mp/components/wxOpenApi/share/index.wxss +22 -0
  71. package/src/mp/components/wxOpenApi/userInfo/index.js +88 -0
  72. package/src/mp/components/wxOpenApi/userInfo/index.json +4 -0
  73. package/src/mp/components/wxOpenApi/userInfo/index.wxml +14 -0
  74. package/src/mp/components/wxOpenApi/userInfo/index.wxss +22 -0
  75. package/src/mp/index.json +7 -2
  76. package/src/mp/style/weda-ui.wxss +2 -0
  77. package/src/mp/utils/destr.js +48 -0
  78. package/src/mp/utils/platform.js +10 -0
  79. package/src/mp/utils/tcb.js +44 -0
  80. package/src/web/components/button/index.css +8 -1
  81. package/src/web/components/button/index.tsx +3 -2
  82. package/src/web/components/chart/bar/index.tsx +40 -39
  83. package/src/web/components/chart/common/core/eChartBar.js +7 -6
  84. package/src/web/components/chart/common/core/eChartBase.ts +20 -16
  85. package/src/web/components/chart/common/core/eChartLine.js +8 -6
  86. package/src/web/components/chart/line/index.tsx +40 -39
  87. package/src/web/components/chart/statisticsCard/index.tsx +29 -8
  88. package/src/web/components/form/checkbox/index.tsx +55 -23
  89. package/src/web/components/form/radio/index.tsx +84 -53
  90. package/src/web/components/form/select/h5.tsx +388 -72
  91. package/src/web/components/form/select/index.css +10 -0
  92. package/src/web/components/form/select/index.tsx +404 -144
  93. package/src/web/components/form/select/region/index.ts +122 -31
  94. package/src/web/components/form/select/time.jsx +89 -0
  95. package/src/web/components/form/select/year.tsx +170 -0
  96. package/src/web/components/form/uploader/uploader.h5.tsx +9 -2
  97. package/src/web/components/form/uploader/uploader.pc.tsx +4 -4
  98. package/src/web/components/form/uploaderFile/uploadFile.h5.tsx +13 -7
  99. package/src/web/components/form/uploaderFile/uploadFile.pc.tsx +13 -5
  100. package/src/web/components/image/image.tsx +1 -1
  101. package/src/web/components/image/index.tsx +1 -1
  102. package/src/web/components/index.js +7 -0
  103. package/src/web/components/link/index.tsx +6 -3
  104. package/src/web/components/listView/index.css +4 -0
  105. package/src/web/components/listView/index.tsx +6 -1
  106. package/src/web/components/modal/index.tsx +3 -1
  107. package/src/web/components/navigationBar/chevron-right--double.svg +3 -0
  108. package/src/web/components/navigationBar/common.tsx +198 -0
  109. package/src/web/components/navigationBar/h5Menu.tsx +179 -0
  110. package/src/web/components/navigationBar/horizontalMenu.tsx +200 -0
  111. package/src/web/components/navigationBar/index.css +762 -0
  112. package/src/web/components/navigationBar/index.tsx +231 -0
  113. package/src/web/components/navigationBar/type.d.ts +111 -0
  114. package/src/web/components/navigationBar/verticalMenu.tsx +81 -0
  115. package/src/web/components/phone/index.css +0 -0
  116. package/src/web/components/phone/index.tsx +22 -0
  117. package/src/web/components/phoneCode/index.css +0 -0
  118. package/src/web/components/phoneCode/index.tsx +22 -0
  119. package/src/web/components/richTextView/index.tsx +3 -5
  120. package/src/web/components/share/index.css +0 -0
  121. package/src/web/components/share/index.tsx +38 -0
  122. package/src/web/components/tabs/index.tsx +2 -0
  123. package/src/web/components/tabs/tabs.h5.tsx +43 -33
  124. package/src/web/components/tabs/tabs.pc.tsx +23 -10
  125. package/src/web/components/text/index.tsx +6 -14
  126. package/src/web/components/userInfo/index.css +0 -0
  127. package/src/web/components/userInfo/index.tsx +30 -0
  128. package/src/web/utils/platform.js +9 -0
  129. package/src/web/utils/tcb.js +26 -0
  130. package/src/web/weda-ui.css +2 -0
  131. package/src/mp/components/internals/listView/arrow-right-line.svg +0 -3
  132. package/src/mp/components/internals/listView/index.js +0 -286
  133. package/src/mp/components/internals/listView/index.wxml +0 -40
  134. package/src/mp/components/internals/listView/index.wxss +0 -150
  135. package/src/mp/components/internals/listView/more-line.svg +0 -3
  136. package/src/web/components/form/select/region/cities.ts +0 -2410
  137. package/src/web/components/form/select/region/provinces.ts +0 -240
  138. package/src/web/components/form/select/region/regions.ts +0 -20645
package/README.md CHANGED
@@ -121,6 +121,9 @@ export default function Container({ children, events, ...args }) {
121
121
 
122
122
  组件配置默认存放在 `src/configs` 目录下。
123
123
 
124
+ #### 组件代码模版生成
125
+ 可以通过 `npm run new` 生成上述文件
126
+
124
127
  ### 调试组件库
125
128
 
126
129
  组件编写完成后,在腾讯云微搭低代码编辑器调试组件库,在当前目录执行:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/weda-ui",
3
- "version": "0.2.17",
3
+ "version": "1.0.21",
4
4
  "main": "./src/index.js",
5
5
  "module": "./src/index",
6
6
  "miniprogram": "mpdist",
@@ -44,7 +44,8 @@
44
44
  "build-npm": "rimraf dist && mkdir dist && cp -r src/web dist/ && cp -r src/configs dist/ && cp src/index.js dist/",
45
45
  "build-mp": "rimraf mpdist && cp -r src/mp mpdist",
46
46
  "clear:snap": "rimraf ./src/test/__snapshots__",
47
- "size": "npm run build:cli && size-limit"
47
+ "size": "npm run build:cli && size-limit",
48
+ "new": "npx hygen comp new"
48
49
  },
49
50
  "keywords": [
50
51
  "weda",
@@ -55,6 +56,7 @@
55
56
  "license": "MIT",
56
57
  "description": "腾讯云微搭低代码组件库模板",
57
58
  "dependencies": {
59
+ "@cloudbase/cli": "^1.12.4",
58
60
  "@cloudbase/ui-react": "^1.0.4",
59
61
  "@loadable/component": "^5.15.2",
60
62
  "@react-hookz/web": "^12.3.0",
@@ -63,6 +65,7 @@
63
65
  "braft-editor": "^2.3.9",
64
66
  "braft-utils": "^3.0.12",
65
67
  "dayjs": "^1.10.7",
68
+ "destr": "^1.1.1",
66
69
  "echarts": "^5.3.0",
67
70
  "lodash.isequal": "^4.5.0",
68
71
  "object.fromentries": "^2.0.5",
@@ -144,7 +147,7 @@
144
147
  {
145
148
  "path": ".temp/dist/*.main.*",
146
149
  "webpack": false,
147
- "limit": "970 KB"
150
+ "limit": "1000 KB"
148
151
  }
149
152
  ],
150
153
  "nyc": {
@@ -68,8 +68,11 @@
68
68
  "meta": {
69
69
  "name": "Calendar",
70
70
  "title": "日历",
71
- "description": "日历组件",
71
+ "description": "用于日历展示,例如考勤数据展示、日程展示。",
72
72
  "category": "展示",
73
73
  "icon": "https://imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/Calendar.svg"
74
+ },
75
+ "configMeta": {
76
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/show/Calendar"
74
77
  }
75
78
  }
@@ -267,7 +267,9 @@
267
267
  "x-component-props": {
268
268
  "dataSourceNamePropKey": "dataSource",
269
269
  "isMethod": true,
270
- "disabledTypes": ["time"]
270
+ "disabledTypes": [
271
+ "time"
272
+ ]
271
273
  },
272
274
  "x-linkages": [
273
275
  {
@@ -347,7 +349,8 @@
347
349
  "x-datasource-method-reset": "",
348
350
  "x-component-props": {
349
351
  "dataSourceNamePropKey": "dataSource",
350
- "isMethod": true
352
+ "isMethod": true,
353
+ "clearable": true
351
354
  },
352
355
  "x-linkages": [
353
356
  {
@@ -408,7 +411,9 @@
408
411
  "default": "bottom",
409
412
  "x-category": "基础属性",
410
413
  "x-index": 160,
411
- "x-platforms": ["PCWEB"],
414
+ "x-platforms": [
415
+ "PCWEB"
416
+ ],
412
417
  "enum": [
413
418
  {
414
419
  "value": "top",
@@ -434,7 +439,10 @@
434
439
  "default": "bottom",
435
440
  "x-category": "基础属性",
436
441
  "x-index": 170,
437
- "x-platforms": ["MOBILEWEB", "MP"],
442
+ "x-platforms": [
443
+ "MOBILEWEB",
444
+ "MP"
445
+ ],
438
446
  "enum": [
439
447
  {
440
448
  "value": "top",
@@ -702,10 +710,15 @@
702
710
  "events": [],
703
711
  "meta": {
704
712
  "title": "柱状图",
705
- "description": "柱状图",
713
+ "description": "柱状图组件主要用于报表场景下展示数据之间大小的对比,支持小程序、H5 和 PC Web 端。",
706
714
  "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/Histogram.svg",
707
715
  "category": "图表组件",
708
716
  "componentOrder": 1,
709
- "visible": ["APP"]
717
+ "visible": [
718
+ "APP"
719
+ ]
720
+ },
721
+ "configMeta": {
722
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/chart/Bar"
710
723
  }
711
724
  }
@@ -212,7 +212,9 @@
212
212
  "x-component-props": {
213
213
  "dataSourceNamePropKey": "dataSource",
214
214
  "isMethod": true,
215
- "disabledTypes": ["time"]
215
+ "disabledTypes": [
216
+ "time"
217
+ ]
216
218
  },
217
219
  "x-linkages": [
218
220
  {
@@ -291,7 +293,8 @@
291
293
  "x-datasource-method-reset": "",
292
294
  "x-component-props": {
293
295
  "dataSourceNamePropKey": "dataSource",
294
- "isMethod": true
296
+ "isMethod": true,
297
+ "clearable": true
295
298
  },
296
299
  "x-linkages": [
297
300
  {
@@ -352,7 +355,9 @@
352
355
  "default": "bottom",
353
356
  "x-category": "基础属性",
354
357
  "x-index": 150,
355
- "x-platforms": ["PCWEB"],
358
+ "x-platforms": [
359
+ "PCWEB"
360
+ ],
356
361
  "enum": [
357
362
  {
358
363
  "value": "top",
@@ -379,7 +384,10 @@
379
384
  "default": "bottom",
380
385
  "x-category": "基础属性",
381
386
  "x-index": 160,
382
- "x-platforms": ["MOBILEWEB", "MP"],
387
+ "x-platforms": [
388
+ "MOBILEWEB",
389
+ "MP"
390
+ ],
383
391
  "enum": [
384
392
  {
385
393
  "value": "top",
@@ -657,10 +665,15 @@
657
665
  "events": [],
658
666
  "meta": {
659
667
  "title": "折线图",
660
- "description": "折线图",
668
+ "description": "折线图组件主要用于报表场景下展示数据随时间变化产生的趋势,支持小程序、H5 和 PC Web 端。",
661
669
  "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/LineChart.svg",
662
670
  "category": "图表组件",
663
671
  "componentOrder": 1,
664
- "visible": ["APP"]
672
+ "visible": [
673
+ "APP"
674
+ ]
675
+ },
676
+ "configMeta": {
677
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/chart/Line"
665
678
  }
666
679
  }
@@ -300,7 +300,9 @@
300
300
  "default": "bottom",
301
301
  "x-category": "基础属性",
302
302
  "x-index": 140,
303
- "x-platforms": ["PCWEB"],
303
+ "x-platforms": [
304
+ "PCWEB"
305
+ ],
304
306
  "enum": [
305
307
  {
306
308
  "value": "top",
@@ -326,7 +328,10 @@
326
328
  "default": "bottom",
327
329
  "x-category": "基础属性",
328
330
  "x-index": 150,
329
- "x-platforms": ["MOBILEWEB", "MP"],
331
+ "x-platforms": [
332
+ "MOBILEWEB",
333
+ "MP"
334
+ ],
330
335
  "enum": [
331
336
  {
332
337
  "value": "top",
@@ -478,10 +483,15 @@
478
483
  "events": [],
479
484
  "meta": {
480
485
  "title": "饼图",
481
- "description": "饼图",
486
+ "description": "饼图组件主要用于报表场景下表示数据在总体中的占比,支持小程序、H5 和 PC Web 端。",
482
487
  "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/PieChart.svg",
483
488
  "category": "图表组件",
484
489
  "componentOrder": 1,
485
- "visible": ["APP"]
490
+ "visible": [
491
+ "APP"
492
+ ]
493
+ },
494
+ "configMeta": {
495
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/chart/Pie"
486
496
  }
487
497
  }
@@ -58,16 +58,36 @@
58
58
  "x-component-props": {
59
59
  "dataSourceNamePropKey": "dataSource",
60
60
  "blackListConfig": {
61
- "type": ["object", "array"]
61
+ "type": [
62
+ "object",
63
+ "array"
64
+ ]
62
65
  },
63
66
  "customRelOptions": {
64
67
  "string": [
65
- { "text": "等于", "value": "eq" },
66
- { "text": "不等于", "value": "neq" },
67
- { "text": "包含", "value": "in" },
68
- { "text": "不包含", "value": "nin" }
68
+ {
69
+ "text": "等于",
70
+ "value": "eq"
71
+ },
72
+ {
73
+ "text": "不等于",
74
+ "value": "neq"
75
+ },
76
+ {
77
+ "text": "包含",
78
+ "value": "in"
79
+ },
80
+ {
81
+ "text": "不包含",
82
+ "value": "nin"
83
+ }
84
+ ],
85
+ "boolean": [
86
+ {
87
+ "text": "等于",
88
+ "value": "eq"
89
+ }
69
90
  ],
70
- "boolean": [{ "text": "等于", "value": "eq" }],
71
91
  "keyVarType": [
72
92
  {
73
93
  "value": "eq",
@@ -87,11 +107,31 @@
87
107
  }
88
108
  ],
89
109
  "number": [
90
- { "text": "等于", "value": "eq", "type": "equal" },
91
- { "text": "不等于", "value": "neq", "type": "unequal" },
92
- { "text": "小于", "value": "lt", "type": "less" },
93
- { "text": "小于或等于", "value": "lte", "type": "less_or_equal" },
94
- { "text": "大于", "value": "gt", "type": "greater" },
110
+ {
111
+ "text": "等于",
112
+ "value": "eq",
113
+ "type": "equal"
114
+ },
115
+ {
116
+ "text": "不等于",
117
+ "value": "neq",
118
+ "type": "unequal"
119
+ },
120
+ {
121
+ "text": "小于",
122
+ "value": "lt",
123
+ "type": "less"
124
+ },
125
+ {
126
+ "text": "小于或等于",
127
+ "value": "lte",
128
+ "type": "less_or_equal"
129
+ },
130
+ {
131
+ "text": "大于",
132
+ "value": "gt",
133
+ "type": "greater"
134
+ },
95
135
  {
96
136
  "text": "大于或等于",
97
137
  "value": "gte",
@@ -320,12 +360,20 @@
320
360
  }
321
361
  }
322
362
  },
323
- "events": [{ "title": "点击", "name": "tap" }],
363
+ "events": [
364
+ {
365
+ "title": "点击",
366
+ "name": "tap"
367
+ }
368
+ ],
324
369
  "meta": {
325
370
  "title": "统计卡片",
326
- "description": "统计卡片",
371
+ "description": "统计卡片组件主要提供报表场景下的指标数据统计并展示功能,支持小程序、H5 和 PC Web 端。",
327
372
  "icon": "//qcloudimg.tencent-cloud.cn/raw/8475042e83e7cb5731983a9432de9e30.svg",
328
373
  "category": "图表组件",
329
374
  "componentOrder": 1
375
+ },
376
+ "configMeta": {
377
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/chart/statisticsCard"
330
378
  }
331
379
  }
@@ -6,7 +6,9 @@
6
6
  "title": "容器备注",
7
7
  "type": "string",
8
8
  "description": "鼠标 hover 后的提示",
9
- "x-platforms": ["PCWEB"]
9
+ "x-platforms": [
10
+ "PCWEB"
11
+ ]
10
12
  }
11
13
  }
12
14
  },
@@ -40,8 +42,11 @@
40
42
  "meta": {
41
43
  "title": "普通容器",
42
44
  "category": "布局容器",
43
- "description": "通用块状容器",
45
+ "description": "容器中可放入多个组件,常用于在前端中对页面布局进行管理的场景。 同时也可以通过容器组件绑定数据对容器内的组件进行循环遍历。",
44
46
  "componentOrder": 1000,
45
47
  "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/Container.svg"
48
+ },
49
+ "configMeta": {
50
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/grid/Container"
46
51
  }
47
52
  }
@@ -28,8 +28,12 @@
28
28
  }
29
29
  },
30
30
  "x-component": "datasource-selector",
31
- "x-component-props": { "dataContainerType": "dataView" },
32
- "x-props": { "data-hidebind": true },
31
+ "x-component-props": {
32
+ "dataContainerType": "dataView"
33
+ },
34
+ "x-props": {
35
+ "data-hidebind": true
36
+ },
33
37
  "x-linkages": [
34
38
  {
35
39
  "type": "value:schema",
@@ -64,8 +68,16 @@
64
68
  }
65
69
  ],
66
70
  "blackListConfig": {
67
- "format": ["related", "father-son", "x-file", "x-image"],
68
- "type": ["object", "array"]
71
+ "format": [
72
+ "related",
73
+ "father-son",
74
+ "x-file",
75
+ "x-image"
76
+ ],
77
+ "type": [
78
+ "object",
79
+ "array"
80
+ ]
69
81
  },
70
82
  "customRelOptions": {
71
83
  "number": [
@@ -130,10 +142,13 @@
130
142
  },
131
143
  "isContainer": true,
132
144
  "meta": {
133
- "title": "数据视图",
145
+ "title": "数据详情",
134
146
  "category": "数据容器",
135
- "description": "数据容器组件",
147
+ "description": "原数据视图组件,适用于以展示多条数据详细内容的场景,不借助变量绑定,即可获取数据模型中的数据。",
136
148
  "componentOrder": 1000,
137
149
  "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/DataView.svg"
150
+ },
151
+ "configMeta": {
152
+ "docsUrl": "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/database/DataView"
138
153
  }
139
154
  }
@@ -13,30 +13,79 @@
13
13
  "title": "显示标题"
14
14
  },
15
15
  "range": {
16
+ "x-component": "list",
16
17
  "type": "array",
17
18
  "default": [
18
- { "label": "多选-选项一", "value": "first", "checked": true },
19
- { "label": "多选-选项二", "value": "second", "checked": false }
19
+ {
20
+ "label": "多选-选项1",
21
+ "value": "1",
22
+ "checked": false
23
+ },
24
+ {
25
+ "label": "多选-选项2",
26
+ "value": "2",
27
+ "checked": false
28
+ }
20
29
  ],
21
30
  "title": "列表项",
31
+ "x-linkages": [
32
+ {
33
+ "type": "value:schema",
34
+ "target": "range",
35
+ "schema": {
36
+ "items": {
37
+ "type": "object",
38
+ "display": "label",
39
+ "properties": {
40
+ "label": {
41
+ "type": "string",
42
+ "title": "选项名称",
43
+ "default": "多选-选项1"
44
+ },
45
+ "value": {
46
+ "type": "string",
47
+ "title": "选项值",
48
+ "default": "1"
49
+ },
50
+ "checked": {
51
+ "type": "boolean",
52
+ "title": "当前是否选中",
53
+ "default": false
54
+ }
55
+ },
56
+ "default": {
57
+ "label": "{{'多选-选项' + ($self.value.length+1)}}",
58
+ "value": "{{$self.value.length+1}}",
59
+ "checked": false
60
+ }
61
+ }
62
+ }
63
+ }
64
+ ],
22
65
  "items": {
23
66
  "type": "object",
67
+ "display": "label",
24
68
  "properties": {
25
69
  "label": {
26
70
  "type": "string",
27
- "title": "名称",
71
+ "title": "选项名称",
28
72
  "default": "多选-选项"
29
73
  },
30
74
  "value": {
31
75
  "type": "string",
32
- "title": "标识",
33
- "default": "value"
76
+ "title": "选项值",
77
+ "default": "1"
34
78
  },
35
79
  "checked": {
36
80
  "type": "boolean",
37
81
  "title": "当前是否选中",
38
82
  "default": false
39
83
  }
84
+ },
85
+ "default": {
86
+ "label": "选项",
87
+ "value": "1",
88
+ "checked": false
40
89
  }
41
90
  }
42
91
  },
@@ -64,6 +113,49 @@
64
113
  "type": "boolean",
65
114
  "default": false,
66
115
  "title": "是否显示必填标记"
116
+ },
117
+ "tipBlock": {
118
+ "title": "选项",
119
+ "type": "string",
120
+ "x-component": "selection-tip",
121
+ "default": "",
122
+ "x-props": {
123
+ "data-hidebind": true
124
+ }
125
+ },
126
+ "enumName": {
127
+ "type": "string",
128
+ "default": "",
129
+ "title": "字段类型",
130
+ "x-linkages": [
131
+ {
132
+ "type": "value:visible",
133
+ "target": "enumName",
134
+ "condition": false
135
+ }
136
+ ]
137
+ },
138
+ "format": {
139
+ "type": "string",
140
+ "default": "",
141
+ "title": "字段类型",
142
+ "x-linkages": [
143
+ {
144
+ "type": "value:visible",
145
+ "target": "range",
146
+ "condition": "{{$self.value!='x-enum'}}"
147
+ },
148
+ {
149
+ "type": "value:visible",
150
+ "target": "format",
151
+ "condition": false
152
+ },
153
+ {
154
+ "type": "value:visible",
155
+ "target": "tipBlock",
156
+ "condition": "{{$self.value=='x-enum'}}"
157
+ }
158
+ ]
67
159
  }
68
160
  }
69
161
  },
@@ -18,23 +18,67 @@
18
18
  "title": "提交后台所用字段"
19
19
  },
20
20
  "range": {
21
+ "x-component": "list",
21
22
  "type": "array",
22
23
  "default": [
23
- { "label": "单选-选项一", "value": "first", "checked": true },
24
- { "label": "单选-选项二", "value": "second", "checked": false }
24
+ {
25
+ "label": "单选-选项1",
26
+ "value": "1",
27
+ "checked": false
28
+ },
29
+ {
30
+ "label": "单选-选项2",
31
+ "value": "2",
32
+ "checked": false
33
+ }
34
+ ],
35
+ "x-linkages": [
36
+ {
37
+ "type": "value:schema",
38
+ "target": "range",
39
+ "schema": {
40
+ "items": {
41
+ "display": "label",
42
+ "type": "object",
43
+ "properties": {
44
+ "label": {
45
+ "type": "string",
46
+ "title": "选项名称",
47
+ "default": "单选-选项1"
48
+ },
49
+ "value": {
50
+ "type": "string",
51
+ "title": "选项值",
52
+ "default": "1"
53
+ },
54
+ "checked": {
55
+ "type": "boolean",
56
+ "title": "当前是否选中",
57
+ "default": false
58
+ }
59
+ },
60
+ "default": {
61
+ "label": "{{'单选-选项' + ($self.value.length+1)}}",
62
+ "value": "{{$self.value.length+1}}",
63
+ "checked": false
64
+ }
65
+ }
66
+ }
67
+ }
25
68
  ],
26
69
  "title": "列表项",
27
70
  "items": {
28
71
  "type": "object",
72
+ "display": "label",
29
73
  "properties": {
30
74
  "label": {
31
75
  "type": "string",
32
- "title": "名称",
76
+ "title": "选项名称",
33
77
  "default": "单选-选项"
34
78
  },
35
79
  "value": {
36
80
  "type": "string",
37
- "title": "标识",
81
+ "title": "选项值",
38
82
  "default": "value"
39
83
  },
40
84
  "checked": {
@@ -42,6 +86,11 @@
42
86
  "title": "当前是否选中",
43
87
  "default": false
44
88
  }
89
+ },
90
+ "default": {
91
+ "label": "单选-选项",
92
+ "value": "1",
93
+ "checked": false
45
94
  }
46
95
  }
47
96
  },
@@ -69,6 +118,49 @@
69
118
  "type": "boolean",
70
119
  "default": false,
71
120
  "title": "是否显示必填标记"
121
+ },
122
+ "tipBlock": {
123
+ "title": "选项",
124
+ "type": "string",
125
+ "x-component": "selection-tip",
126
+ "default": "",
127
+ "x-props": {
128
+ "data-hidebind": true
129
+ }
130
+ },
131
+ "enumName": {
132
+ "type": "string",
133
+ "default": "",
134
+ "title": "字段类型",
135
+ "x-linkages": [
136
+ {
137
+ "type": "value:visible",
138
+ "target": "enumName",
139
+ "condition": false
140
+ }
141
+ ]
142
+ },
143
+ "format": {
144
+ "type": "string",
145
+ "default": "",
146
+ "title": "字段类型",
147
+ "x-linkages": [
148
+ {
149
+ "type": "value:visible",
150
+ "target": "range",
151
+ "condition": "{{$self.value!='x-enum'}}"
152
+ },
153
+ {
154
+ "type": "value:visible",
155
+ "target": "format",
156
+ "condition": false
157
+ },
158
+ {
159
+ "type": "value:visible",
160
+ "target": "tipBlock",
161
+ "condition": "{{$self.value=='x-enum'}}"
162
+ }
163
+ ]
72
164
  }
73
165
  }
74
166
  },