@opentiny/vue-docs 3.17.3 → 3.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/demos/apis/action-sheet.js +1 -1
  2. package/demos/apis/autocomplete.js +2 -2
  3. package/demos/apis/button-group.js +3 -0
  4. package/demos/apis/cascader.js +1 -1
  5. package/demos/apis/chart-attributes-demo.js +397 -291
  6. package/demos/apis/chart-autonavi-map.js +394 -296
  7. package/demos/apis/chart-baidu-map.js +394 -296
  8. package/demos/apis/chart-bar.js +394 -296
  9. package/demos/apis/chart-boxplot.js +394 -297
  10. package/demos/apis/chart-candle.js +394 -296
  11. package/demos/apis/chart-demo.js +397 -291
  12. package/demos/apis/chart-docs.js +403 -0
  13. package/demos/apis/chart-events.js +397 -291
  14. package/demos/apis/chart-funnel.js +394 -296
  15. package/demos/apis/chart-gauge.js +394 -296
  16. package/demos/apis/chart-graph.js +394 -296
  17. package/demos/apis/chart-heatmap.js +394 -296
  18. package/demos/apis/chart-histogram.js +394 -296
  19. package/demos/apis/chart-line.js +394 -296
  20. package/demos/apis/chart-liquidfill.js +394 -296
  21. package/demos/apis/chart-map.js +394 -296
  22. package/demos/apis/chart-pie.js +395 -297
  23. package/demos/apis/chart-process.js +28 -28
  24. package/demos/apis/chart-question.js +397 -291
  25. package/demos/apis/chart-radar.js +394 -296
  26. package/demos/apis/chart-ring.js +394 -296
  27. package/demos/apis/chart-sankey.js +394 -296
  28. package/demos/apis/chart-scatter.js +394 -296
  29. package/demos/apis/chart-sunburst.js +394 -296
  30. package/demos/apis/chart-tree.js +394 -296
  31. package/demos/apis/chart-waterfall.js +394 -296
  32. package/demos/apis/chart-wordcloud.js +394 -296
  33. package/demos/apis/chart.js +199 -81
  34. package/demos/apis/dialog-box.js +1 -1
  35. package/demos/apis/dialog-select.js +14 -0
  36. package/demos/apis/dropdown.js +16 -0
  37. package/demos/apis/file-upload.js +2 -1
  38. package/demos/apis/fluent-editor.js +110 -0
  39. package/demos/apis/form.js +1 -1
  40. package/demos/apis/grid.js +24 -0
  41. package/demos/apis/guide.js +1 -1
  42. package/demos/apis/input.js +15 -0
  43. package/demos/apis/numeric.js +6 -6
  44. package/demos/apis/search.js +11 -0
  45. package/demos/apis/switch.js +24 -0
  46. package/demos/apis/tabs.js +3 -5
  47. package/demos/apis/tree-menu.js +2 -13
  48. package/demos/apis/tree-select.js +192 -15
  49. package/demos/apis/tree.js +11 -0
  50. package/demos/mobile-first/app/file-upload/file-size-array.vue +19 -0
  51. package/demos/mobile-first/app/file-upload/file-size.vue +76 -0
  52. package/demos/mobile-first/app/file-upload/webdoc/file-upload.js +24 -0
  53. package/demos/mobile-first/app/grid/basic-usage.vue +5 -1
  54. package/demos/pc/app/cascader-panel/multiple-composition-api.vue +226 -0
  55. package/demos/pc/app/cascader-panel/multiple.spec.ts +15 -0
  56. package/demos/pc/app/cascader-panel/multiple.vue +234 -0
  57. package/demos/pc/app/cascader-panel/webdoc/cascader-panel.js +12 -0
  58. package/demos/pc/app/chart/webdoc/chart-docs.cn.md +126 -0
  59. package/demos/pc/app/chart/webdoc/chart-docs.en.md +127 -0
  60. package/demos/pc/app/chart/webdoc/chart-docs.js +6 -0
  61. package/demos/pc/app/chart/webdoc/chart-docs.json.cn.md +126 -0
  62. package/demos/pc/app/chart/webdoc/chart-docs.json.en.md +127 -0
  63. package/demos/pc/app/chart/webdoc/chart.cn.md +1 -1
  64. package/demos/pc/app/chart/webdoc/chart.en.md +1 -1
  65. package/demos/pc/app/color-picker/base.vue +1 -0
  66. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +4 -2
  67. package/demos/pc/app/directives/highlight-query/avoid-composition-api.vue +52 -0
  68. package/demos/pc/app/directives/highlight-query/avoid.spec.js +15 -0
  69. package/demos/pc/app/directives/highlight-query/avoid.vue +65 -0
  70. package/demos/pc/app/directives/highlight-query/basic-usage-composition-api.vue +31 -0
  71. package/demos/pc/app/directives/highlight-query/basic-usage.spec.js +12 -0
  72. package/demos/pc/app/directives/highlight-query/basic-usage.vue +40 -0
  73. package/demos/pc/app/directives/webdoc/directives-highlight-query.cn.md +7 -0
  74. package/demos/pc/app/directives/webdoc/directives-highlight-query.en.md +7 -0
  75. package/demos/pc/app/directives/webdoc/directives-highlight-query.js +39 -0
  76. package/demos/pc/app/dropdown/lazy-show-popper-composition-api.vue +43 -0
  77. package/demos/pc/app/dropdown/lazy-show-popper.spec.ts +20 -0
  78. package/demos/pc/app/dropdown/lazy-show-popper.vue +47 -0
  79. package/demos/pc/app/dropdown/webdoc/dropdown.js +13 -0
  80. package/demos/pc/app/file-upload/file-size-array.vue +85 -0
  81. package/demos/pc/app/file-upload/file-size.vue +78 -0
  82. package/demos/pc/app/file-upload/webdoc/file-upload.js +24 -0
  83. package/demos/pc/app/form/message-type-composition-api.vue +1 -1
  84. package/demos/pc/app/form/message-type.vue +1 -1
  85. package/demos/pc/app/form/webdoc/form.js +2 -2
  86. package/demos/pc/app/grid/dynamically-columns/column-switching-scroll-composition-api.vue +81 -0
  87. package/demos/pc/app/grid/dynamically-columns/column-switching-scroll.spec.js +14 -0
  88. package/demos/pc/app/grid/dynamically-columns/column-switching-scroll.vue +89 -0
  89. package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +12 -0
  90. package/demos/pc/app/grid/webdoc/grid-pager.js +1 -1
  91. package/demos/pc/app/icon/iconGroups.js +278 -157
  92. package/demos/pc/app/input/basic-usage.spec.ts +1 -1
  93. package/demos/pc/app/input/show-tooltip-composition-api.vue +27 -0
  94. package/demos/pc/app/input/show-tooltip.spec.ts +10 -0
  95. package/demos/pc/app/input/show-tooltip.vue +34 -0
  96. package/demos/pc/app/input/webdoc/input.js +13 -0
  97. package/demos/pc/app/numeric/numeric-size-composition-api.vue +2 -0
  98. package/demos/pc/app/numeric/numeric-size.vue +2 -0
  99. package/demos/pc/app/numeric/webdoc/numeric.js +2 -2
  100. package/demos/pc/app/rich-text-editor/basic-usage.vue +2 -0
  101. package/demos/pc/app/search/slot-prefix-composition-api.vue +10 -2
  102. package/demos/pc/app/search/slot-prefix.spec.ts +1 -1
  103. package/demos/pc/app/search/slot-prefix.vue +16 -5
  104. package/demos/pc/app/search/webdoc/search.js +5 -4
  105. package/demos/pc/app/select/popup-style-position-composition-api.vue +1 -2
  106. package/demos/pc/app/select/popup-style-position.vue +1 -2
  107. package/demos/pc/app/slider/about-step-composition-api.vue +6 -0
  108. package/demos/pc/app/slider/about-step.vue +6 -0
  109. package/demos/pc/app/slider/basic-usage-composition-api.vue +6 -0
  110. package/demos/pc/app/slider/basic-usage.vue +6 -0
  111. package/demos/pc/app/slider/dynamic-disable-composition-api.vue +6 -0
  112. package/demos/pc/app/slider/dynamic-disable.vue +6 -0
  113. package/demos/pc/app/slider/format-tooltip-composition-api.vue +6 -0
  114. package/demos/pc/app/slider/format-tooltip.vue +6 -0
  115. package/demos/pc/app/slider/marks-composition-api.vue +7 -5
  116. package/demos/pc/app/slider/marks.vue +7 -5
  117. package/demos/pc/app/slider/max-min-composition-api.vue +6 -0
  118. package/demos/pc/app/slider/max-min.vue +6 -0
  119. package/demos/pc/app/slider/range-select-composition-api.vue +6 -0
  120. package/demos/pc/app/slider/range-select.vue +6 -0
  121. package/demos/pc/app/slider/shortcut-operation-composition-api.vue +6 -0
  122. package/demos/pc/app/slider/shortcut-operation.vue +6 -0
  123. package/demos/pc/app/slider/show-input-composition-api.vue +6 -0
  124. package/demos/pc/app/slider/show-input.vue +6 -0
  125. package/demos/pc/app/slider/show-tip-composition-api.vue +6 -0
  126. package/demos/pc/app/slider/show-tip.vue +6 -0
  127. package/demos/pc/app/slider/slider-event-composition-api.vue +6 -0
  128. package/demos/pc/app/slider/slider-event.vue +6 -0
  129. package/demos/pc/app/slider/slider-slot-composition-api.vue +6 -0
  130. package/demos/pc/app/slider/slider-slot.vue +6 -0
  131. package/demos/pc/app/slider/vertical-mode-composition-api.vue +6 -0
  132. package/demos/pc/app/slider/vertical-mode.vue +6 -0
  133. package/demos/pc/app/switch/custom-open-close-icon-composition-api.vue +20 -0
  134. package/demos/pc/app/switch/custom-open-close-icon.spec.ts +15 -0
  135. package/demos/pc/app/switch/custom-open-close-icon.vue +23 -0
  136. package/demos/pc/app/switch/webdoc/switch.js +13 -0
  137. package/demos/pc/app/tabs/basic-usage-composition-api.vue +1 -1
  138. package/demos/pc/app/tabs/basic-usage.vue +1 -1
  139. package/demos/pc/app/tabs/size-composition-api.vue +31 -0
  140. package/demos/pc/app/tabs/size.spec.ts +15 -0
  141. package/demos/pc/app/tabs/size.vue +41 -0
  142. package/demos/pc/app/tabs/tabs-second-layer-composition-api.vue +0 -1
  143. package/demos/pc/app/tabs/tabs-second-layer.vue +0 -1
  144. package/demos/pc/app/tabs/tabs-separator-composition-api.vue +3 -1
  145. package/demos/pc/app/tabs/tabs-separator.vue +3 -1
  146. package/demos/pc/app/tabs/webdoc/tabs.js +12 -0
  147. package/demos/pc/app/time-picker/default-value.spec.ts +1 -1
  148. package/demos/pc/app/time-picker/picker-options.spec.ts +4 -3
  149. package/demos/pc/app/tree/filter-view-composition-api.vue +9 -0
  150. package/demos/pc/app/tree/filter-view.spec.ts +8 -0
  151. package/demos/pc/app/tree/filter-view.vue +9 -0
  152. package/demos/pc/app/tree/webdoc/tree.js +2 -0
  153. package/demos/pc/app/tree-menu/custom-icon-composition-api.vue +1 -1
  154. package/demos/pc/app/tree-menu/custom-icon.vue +1 -1
  155. package/demos/pc/app/tree-menu/webdoc/tree-menu.js +2 -2
  156. package/demos/pc/app/tree-select/basic-usage-composition-api.vue +55 -0
  157. package/demos/pc/app/tree-select/basic-usage.spec.ts +20 -0
  158. package/demos/pc/app/tree-select/basic-usage.vue +62 -0
  159. package/demos/pc/app/tree-select/collapse-tags-composition-api.vue +71 -0
  160. package/demos/pc/app/tree-select/collapse-tags.vue +78 -0
  161. package/demos/pc/app/tree-select/copy-composition-api.vue +70 -0
  162. package/demos/pc/app/tree-select/copy.vue +78 -0
  163. package/demos/pc/app/tree-select/disabled-composition-api.vue +69 -0
  164. package/demos/pc/app/tree-select/disabled.vue +76 -0
  165. package/demos/pc/app/tree-select/map-field-composition-api.vue +55 -0
  166. package/demos/pc/app/tree-select/map-field.vue +62 -0
  167. package/demos/pc/app/tree-select/multiple-composition-api.vue +55 -0
  168. package/demos/pc/app/tree-select/multiple.vue +62 -0
  169. package/demos/pc/app/tree-select/native-properties-composition-api.vue +61 -0
  170. package/demos/pc/app/tree-select/native-properties.vue +68 -0
  171. package/demos/pc/app/tree-select/panel-style-composition-api.vue +73 -0
  172. package/demos/pc/app/tree-select/panel-style.vue +80 -0
  173. package/demos/pc/app/tree-select/reference-style-composition-api.vue +76 -0
  174. package/demos/pc/app/tree-select/reference-style.vue +83 -0
  175. package/demos/pc/app/tree-select/size-composition-api.vue +69 -0
  176. package/demos/pc/app/tree-select/size.vue +76 -0
  177. package/demos/pc/app/tree-select/webdoc/tree-select.cn.md +7 -0
  178. package/demos/pc/app/tree-select/webdoc/tree-select.en.md +7 -0
  179. package/demos/pc/app/tree-select/webdoc/tree-select.js +142 -0
  180. package/demos/pc/menus.js +12 -2
  181. package/demos/pc/overviewimage/chart-docs.svg +44 -0
  182. package/package.json +7 -7
  183. package/playground/App.vue +1 -0
  184. package/src/assets/images/Infinitely-icon.png +0 -0
  185. package/src/assets/images/Infinitely.png +0 -0
  186. package/src/assets/images/glaciers-icon.png +0 -0
  187. package/src/assets/images/glaciers.png +0 -0
  188. package/src/assets/images/oceanic-icon.png +0 -0
  189. package/src/assets/images/oceanic.png +0 -0
  190. package/src/assets/images/starry-sky-icon.png +0 -0
  191. package/src/assets/images/starry-sky.png +0 -0
  192. package/src/i18n/en.json +4 -2
  193. package/src/i18n/zh.json +4 -2
  194. package/src/style.css +10 -2
  195. package/src/tools/appData.js +7 -10
  196. package/src/tools/useApiMode.js +5 -0
  197. package/src/tools/useStyleSettings.js +16 -0
  198. package/src/tools/useTheme.js +39 -4
  199. package/src/views/components/components.vue +14 -6
  200. package/src/views/components/demo.vue +4 -4
  201. package/src/views/components/float-settings.vue +124 -98
  202. package/src/views/layout/layout.vue +1 -1
  203. package/vite.config.ts +2 -1
  204. package/demos/mobile-first/app/time-line-new/auto-slot.vue +0 -50
  205. package/demos/mobile-first/app/time-line-new/basic-usage.vue +0 -23
  206. package/demos/mobile-first/app/time-line-new/fold-time.vue +0 -29
  207. package/demos/mobile-first/app/time-line-new/limited-nodes.vue +0 -29
  208. package/demos/mobile-first/app/time-line-new/many-status.vue +0 -24
  209. package/demos/mobile-first/app/time-line-new/node-max.vue +0 -26
  210. package/demos/mobile-first/app/time-line-new/node-toset.vue +0 -32
  211. package/demos/mobile-first/app/time-line-new/single-status.vue +0 -40
  212. package/demos/mobile-first/app/time-line-new/sub-field.vue +0 -23
  213. package/demos/mobile-first/app/time-line-new/webdoc/time-line-new.cn.md +0 -9
  214. package/demos/mobile-first/app/time-line-new/webdoc/time-line-new.en.md +0 -9
  215. package/demos/mobile-first/app/time-line-new/webdoc/time-line-new.js +0 -120
  216. /package/demos/pc/app/slider/{show-iput.spec.ts → show-input.spec.ts} +0 -0
@@ -0,0 +1,226 @@
1
+ <template>
2
+ <div class="cascader-panel-demo-props">
3
+ <div>
4
+ 选中值:<span>{{ value }}</span>
5
+ </div>
6
+ <tiny-cascader-panel
7
+ v-model="value"
8
+ :options="optionsCascader"
9
+ :props="{
10
+ multiple: true
11
+ }"
12
+ ></tiny-cascader-panel>
13
+ </div>
14
+ </template>
15
+
16
+ <script setup>
17
+ import { ref } from 'vue'
18
+ import { CascaderPanel as TinyCascaderPanel } from '@opentiny/vue'
19
+
20
+ const value = ref([
21
+ ['zhinan', 'anzhuang', 'xiangmudengji'],
22
+ ['zhinan', 'anzhuang', 'huanjingzhunbei'],
23
+ ['zhinan', 'anzhuang', 'anzhuangcli'],
24
+ ['zhinan', 'kaifa', 'monishuju']
25
+ ])
26
+ const optionsCascader = ref([
27
+ {
28
+ value: 'zhinan',
29
+ label: '指南',
30
+ children: [
31
+ {
32
+ value: 'anzhuang',
33
+ label: '安装',
34
+ children: [
35
+ {
36
+ value: 'xiangmudengji',
37
+ label: '项目登记'
38
+ },
39
+ {
40
+ value: 'huanjingzhunbei',
41
+ label: '环境准备'
42
+ },
43
+ {
44
+ value: 'anzhuangcli',
45
+ label: '安装 CLI'
46
+ },
47
+ {
48
+ value: 'chuangjianxiangmu',
49
+ label: '创建项目'
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ value: 'kaifa',
55
+ label: '开发',
56
+ children: [
57
+ {
58
+ value: 'yinruzujian',
59
+ label: '引入组件'
60
+ },
61
+ {
62
+ value: 'monishuju',
63
+ label: '模拟数据'
64
+ }
65
+ ]
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ value: 'zujian',
71
+ label: '组件',
72
+ children: [
73
+ {
74
+ value: 'basic',
75
+ label: '框架风格',
76
+ children: [
77
+ {
78
+ value: 'layout',
79
+ label: 'Layout 布局'
80
+ },
81
+ {
82
+ value: 'color',
83
+ label: 'Color 色彩'
84
+ },
85
+ {
86
+ value: 'font',
87
+ label: 'Font 字体'
88
+ },
89
+ {
90
+ value: 'icon',
91
+ label: 'Icon 图标'
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ value: 'form',
97
+ label: '表单组件',
98
+ children: [
99
+ {
100
+ value: 'radio',
101
+ label: 'Radio 单选框'
102
+ },
103
+ {
104
+ value: 'checkbox',
105
+ label: 'Checkbox 多选框'
106
+ },
107
+ {
108
+ value: 'input',
109
+ label: 'Input 输入框'
110
+ },
111
+ {
112
+ value: 'number',
113
+ label: 'Numeric 计数器'
114
+ },
115
+ {
116
+ value: 'select',
117
+ label: 'Select 选择器'
118
+ },
119
+ {
120
+ value: 'cascader',
121
+ label: 'Cascader 级联选择器'
122
+ },
123
+ {
124
+ value: 'switch',
125
+ label: 'Switch 开关'
126
+ },
127
+ {
128
+ value: 'slider',
129
+ label: 'Slider 滑块'
130
+ },
131
+ {
132
+ value: 'time-picker',
133
+ label: 'TimePicker 时间选择器'
134
+ },
135
+ {
136
+ value: 'date-picker',
137
+ label: 'DatePicker 日期选择器'
138
+ },
139
+ {
140
+ value: 'form',
141
+ label: 'Form 表单'
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ value: 'data',
147
+ label: '数据组件',
148
+ children: [
149
+ {
150
+ value: 'tree',
151
+ label: 'Tree 树形控件'
152
+ },
153
+ {
154
+ value: 'pager',
155
+ label: 'Pager 分页'
156
+ }
157
+ ]
158
+ },
159
+ {
160
+ value: 'notice',
161
+ label: '提示组件',
162
+ children: [
163
+ {
164
+ value: 'alert',
165
+ label: 'Alert 警告'
166
+ },
167
+ {
168
+ value: 'loading',
169
+ label: 'Loading 加载'
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ value: 'navigation',
175
+ label: '导航组件',
176
+ children: [
177
+ {
178
+ value: 'menu',
179
+ label: 'NavMenu 导航菜单'
180
+ },
181
+ {
182
+ value: 'tabs',
183
+ label: 'Tabs 标签页'
184
+ },
185
+ {
186
+ value: 'breadcrumb',
187
+ label: 'Breadcrumb 面包屑'
188
+ },
189
+ {
190
+ value: 'steps',
191
+ label: 'Steps 步骤条'
192
+ }
193
+ ]
194
+ },
195
+ {
196
+ value: 'others',
197
+ label: '其他组件',
198
+ children: [
199
+ {
200
+ value: 'rate',
201
+ label: 'Rate 评分'
202
+ },
203
+ {
204
+ value: 'tag',
205
+ label: 'Tag 标签'
206
+ },
207
+ {
208
+ value: 'usercontact',
209
+ label: 'UserContact 联系人'
210
+ },
211
+ {
212
+ value: 'slidebar',
213
+ label: 'SlideBar 滚动块'
214
+ }
215
+ ]
216
+ }
217
+ ]
218
+ }
219
+ ])
220
+ </script>
221
+
222
+ <style scoped>
223
+ .cascader-panel-demo-props > :not(:last-child) {
224
+ margin-bottom: 12px;
225
+ }
226
+ </style>
@@ -0,0 +1,15 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('多选', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('cascader-panel#multiple')
6
+ const multipleText1 = page.getByText(
7
+ '选中值:[ [ "zhinan", "anzhuang", "xiangmudengji" ], [ "zhinan", "anzhuang", "huanjingzhunbei" ], [ "zhinan", "anzhuang", "anzhuangcli" ], [ "zhinan", "kaifa", "monishuju" ] ]'
8
+ )
9
+ await expect(multipleText1).toBeVisible()
10
+ await page.getByRole('menuitem', { name: '创建项目' }).locator('span').nth(1).click()
11
+ const multipleText2 = page.getByText(
12
+ '选中值:[ [ "zhinan", "anzhuang", "xiangmudengji" ], [ "zhinan", "anzhuang", "huanjingzhunbei" ], [ "zhinan", "anzhuang", "anzhuangcli" ], [ "zhinan", "anzhuang", "chuangjianxiangmu" ], [ "zhinan", "kaifa", "monishuju" ] ]'
13
+ )
14
+ await expect(multipleText2).toBeVisible()
15
+ })
@@ -0,0 +1,234 @@
1
+ <template>
2
+ <div class="cascader-panel-demo-props">
3
+ <div>
4
+ 选中值:<span>{{ value }}</span>
5
+ </div>
6
+ <tiny-cascader-panel
7
+ v-model="value"
8
+ :options="optionsCascader"
9
+ :props="{
10
+ multiple: true
11
+ }"
12
+ ></tiny-cascader-panel>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { CascaderPanel } from '@opentiny/vue'
18
+
19
+ export default {
20
+ components: {
21
+ TinyCascaderPanel: CascaderPanel
22
+ },
23
+ data() {
24
+ return {
25
+ value: [
26
+ ['zhinan', 'anzhuang', 'xiangmudengji'],
27
+ ['zhinan', 'anzhuang', 'huanjingzhunbei'],
28
+ ['zhinan', 'anzhuang', 'anzhuangcli'],
29
+ ['zhinan', 'kaifa', 'monishuju']
30
+ ],
31
+ optionsCascader: [
32
+ {
33
+ value: 'zhinan',
34
+ label: '指南',
35
+ children: [
36
+ {
37
+ value: 'anzhuang',
38
+ label: '安装',
39
+ children: [
40
+ {
41
+ value: 'xiangmudengji',
42
+ label: '项目登记'
43
+ },
44
+ {
45
+ value: 'huanjingzhunbei',
46
+ label: '环境准备'
47
+ },
48
+ {
49
+ value: 'anzhuangcli',
50
+ label: '安装 CLI'
51
+ },
52
+ {
53
+ value: 'chuangjianxiangmu',
54
+ label: '创建项目'
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ value: 'kaifa',
60
+ label: '开发',
61
+ children: [
62
+ {
63
+ value: 'yinruzujian',
64
+ label: '引入组件'
65
+ },
66
+ {
67
+ value: 'monishuju',
68
+ label: '模拟数据'
69
+ }
70
+ ]
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ value: 'zujian',
76
+ label: '组件',
77
+ children: [
78
+ {
79
+ value: 'basic',
80
+ label: '框架风格',
81
+ children: [
82
+ {
83
+ value: 'layout',
84
+ label: 'Layout 布局'
85
+ },
86
+ {
87
+ value: 'color',
88
+ label: 'Color 色彩'
89
+ },
90
+ {
91
+ value: 'font',
92
+ label: 'Font 字体'
93
+ },
94
+ {
95
+ value: 'icon',
96
+ label: 'Icon 图标'
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ value: 'form',
102
+ label: '表单组件',
103
+ children: [
104
+ {
105
+ value: 'radio',
106
+ label: 'Radio 单选框'
107
+ },
108
+ {
109
+ value: 'checkbox',
110
+ label: 'Checkbox 多选框'
111
+ },
112
+ {
113
+ value: 'input',
114
+ label: 'Input 输入框'
115
+ },
116
+ {
117
+ value: 'number',
118
+ label: 'Numeric 计数器'
119
+ },
120
+ {
121
+ value: 'select',
122
+ label: 'Select 选择器'
123
+ },
124
+ {
125
+ value: 'cascader',
126
+ label: 'Cascader 级联选择器'
127
+ },
128
+ {
129
+ value: 'switch',
130
+ label: 'Switch 开关'
131
+ },
132
+ {
133
+ value: 'slider',
134
+ label: 'Slider 滑块'
135
+ },
136
+ {
137
+ value: 'time-picker',
138
+ label: 'TimePicker 时间选择器'
139
+ },
140
+ {
141
+ value: 'date-picker',
142
+ label: 'DatePicker 日期选择器'
143
+ },
144
+ {
145
+ value: 'form',
146
+ label: 'Form 表单'
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ value: 'data',
152
+ label: '数据组件',
153
+ children: [
154
+ {
155
+ value: 'tree',
156
+ label: 'Tree 树形控件'
157
+ },
158
+ {
159
+ value: 'pager',
160
+ label: 'Pager 分页'
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ value: 'notice',
166
+ label: '提示组件',
167
+ children: [
168
+ {
169
+ value: 'alert',
170
+ label: 'Alert 警告'
171
+ },
172
+ {
173
+ value: 'loading',
174
+ label: 'Loading 加载'
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ value: 'navigation',
180
+ label: '导航组件',
181
+ children: [
182
+ {
183
+ value: 'menu',
184
+ label: 'NavMenu 导航菜单'
185
+ },
186
+ {
187
+ value: 'tabs',
188
+ label: 'Tabs 标签页'
189
+ },
190
+ {
191
+ value: 'breadcrumb',
192
+ label: 'Breadcrumb 面包屑'
193
+ },
194
+ {
195
+ value: 'steps',
196
+ label: 'Steps 步骤条'
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ value: 'others',
202
+ label: '其他组件',
203
+ children: [
204
+ {
205
+ value: 'rate',
206
+ label: 'Rate 评分'
207
+ },
208
+ {
209
+ value: 'tag',
210
+ label: 'Tag 标签'
211
+ },
212
+ {
213
+ value: 'usercontact',
214
+ label: 'UserContact 联系人'
215
+ },
216
+ {
217
+ value: 'slidebar',
218
+ label: 'SlideBar 滚动块'
219
+ }
220
+ ]
221
+ }
222
+ ]
223
+ }
224
+ ]
225
+ }
226
+ }
227
+ }
228
+ </script>
229
+
230
+ <style scoped>
231
+ .cascader-panel-demo-props > :not(:last-child) {
232
+ margin-bottom: 12px;
233
+ }
234
+ </style>
@@ -30,6 +30,18 @@ export default {
30
30
  },
31
31
  codeFiles: ['custom-option-content.vue']
32
32
  },
33
+ {
34
+ demoId: 'multiple',
35
+ name: {
36
+ 'zh-CN': '多选',
37
+ 'en-US': 'Multiple Choices'
38
+ },
39
+ desc: {
40
+ 'zh-CN': '<p>通过 <code>props.multiple = true</code> 来开启多选模式。</p>\n',
41
+ 'en-US': '<p>Use <code>props.multiple = true</code> to enable the multi-selection mode. </p>\n'
42
+ },
43
+ codeFiles: ['multiple.vue']
44
+ },
33
45
  {
34
46
  demoId: 'cascader-panel-props',
35
47
  name: {
@@ -0,0 +1,126 @@
1
+ ## 安装
2
+
3
+ 推荐使用`npm`或者`yarn`方式进行开发
4
+
5
+ ```javascript
6
+ npm i @opentiny/vue
7
+ # 或者
8
+ yarn add @opentiny/vue
9
+ ```
10
+
11
+ ## 使用
12
+
13
+ `tinyChart`支持多组件引入、单组件引入以及完整引入三种方式。
14
+
15
+ ### 多组件引入
16
+
17
+ `TinyChart`多组件引用即从依赖包 @opentiny/vue中引用多个组件,参考示例如下(以 `ChartLine` 和 `ChartBar` 组件为例):
18
+
19
+ ```html
20
+ <template>
21
+ <div>
22
+ <tiny-chart-line></tiny-chart-line>
23
+ <tiny-chart-bar></tiny-chart-bar>
24
+ </div>
25
+ </template>
26
+ <script>
27
+ import { ChartLine, ChartBar } from '@opentiny/vue'
28
+ export default {
29
+ components: {
30
+ TinyChartLine: ChartLine,
31
+ TinyChartBar: ChartBar
32
+ }
33
+ }
34
+ </script>
35
+ ```
36
+
37
+ ### 单组件引入
38
+
39
+ `TinyChart` 每个组件都可以独立安装、独立使用,即只安装单个组件的依赖并单独引用该组件,参考示例如下(以 `ChartLine`和`ChartBar` 组件为例):
40
+
41
+ ```html
42
+ <template>
43
+ <div>
44
+ <tiny-chart-line></tiny-chart-line>
45
+ <tiny-chart-bar></tiny-chart-bar>
46
+ </div>
47
+ </template>
48
+ <script>
49
+ import ChartLine from '@opentiny/vue/ChartLine'
50
+ import ChartBar from '@opentiny/vue/chartBar'
51
+ export default {
52
+ components: {
53
+ TinyChartLine: ChartLine,
54
+ TinyChartBar: ChartBar
55
+ }
56
+ }
57
+ </script>
58
+ ```
59
+
60
+ ### 完整引入
61
+
62
+ 完整引入组建后,可以通过 `type` 属性去获取想要的图表,我们并不推荐直接使用完整引入,这样会全量引入所有组件,无法实现按需加载。但如果确实有场景的需求,可以通过以下方式引用,参考示例如下(以 `ChartLine` 和 `ChartBar` 组件为例):
63
+
64
+ ```html
65
+ <template>
66
+ <div>
67
+ <tiny-chart type="line"></tiny-chart>
68
+ <tiny-chart type="bar"></tiny-chart>
69
+ </div>
70
+ </template>
71
+ <script>
72
+ import { Chart } from '@opentiny/vue'
73
+ export default {
74
+ components: {
75
+ TinyChart: Chart
76
+ }
77
+ }
78
+ </script>
79
+ ```
80
+
81
+ ## 组件使用
82
+
83
+ 下面是一个简单的小示例
84
+
85
+ ```html
86
+ <template>
87
+ <div>
88
+ <tiny-chart-line></tiny-chart-line>
89
+ <tiny-chart-bar></tiny-chart-bar>
90
+ </div>
91
+ </template>
92
+ <script>
93
+ import { ChartLine, ChartBar } from '@opentiny/vue'
94
+ export default {
95
+ components: {
96
+ TinyChartLine: ChartLine,
97
+ TinyChartBar: ChartBar
98
+ },
99
+ data() {
100
+ return {
101
+ options: {
102
+ padding: [50, 30, 50, 20],
103
+ legend: {
104
+ show: true,
105
+ icon: 'line'
106
+ },
107
+ data: [
108
+ { 'Month': 'Jan', 'Domestic': 33, 'Abroad': 1 },
109
+ { 'Month': 'Feb', 'Domestic': 27, 'Abroad': 39 },
110
+ { 'Month': 'Mar', 'Domestic': 31, 'Abroad': 20 },
111
+ { 'Month': 'Apr', 'Domestic': 30, 'Abroad': 15 },
112
+ { 'Month': 'May', 'Domestic': 37, 'Abroad': 1 },
113
+ { 'Month': 'Jun', 'Domestic': 36, 'Abroad': 17 },
114
+ { 'Month': 'Jul', 'Domestic': 42, 'Abroad': 22 },
115
+ { 'Month': 'Aug', 'Domestic': 22, 'Abroad': 12 },
116
+ { 'Month': 'Sep', 'Domestic': 17, 'Abroad': 30 },
117
+ { 'Month': 'Oct', 'Domestic': 40, 'Abroad': 33 },
118
+ { 'Month': 'Nov', 'Domestic': 42, 'Abroad': 22 },
119
+ { 'Month': 'Dec', 'Domestic': 32, 'Abroad': 1 }
120
+ ]
121
+ }
122
+ }
123
+ }
124
+ }
125
+ </script>
126
+ ```