@a2simcode/ui 0.0.54 → 0.0.56
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.
- package/.cursor/skills/ui-component-helper/README.md +43 -43
- package/.cursor/skills/ui-component-helper/SKILL.md +81 -81
- package/LICENSE +53 -53
- package/README.md +156 -156
- package/dist/components/index.d.ts +2 -1
- package/dist/components/input-cards/index.d.ts +189 -0
- package/dist/components/input-cards/src/input-cards.vue.d.ts +142 -0
- package/dist/components/input-cards/src/interface.d.ts +29 -0
- package/dist/components/table/src/interface.d.ts +4 -0
- package/dist/simcode-ui.es.js +3524 -3305
- package/dist/simcode-ui.umd.js +2 -2
- package/dist/stats.html +1 -1
- package/dist/ui.css +1 -1
- package/docs/components/autocomplete.md +89 -89
- package/docs/components/barcode.md +101 -101
- package/docs/components/button-select.md +24 -24
- package/docs/components/button.md +117 -117
- package/docs/components/buttons.md +119 -119
- package/docs/components/cascader-select.md +114 -114
- package/docs/components/checkbox.md +114 -114
- package/docs/components/code-mirror.md +85 -85
- package/docs/components/collapse.md +26 -26
- package/docs/components/comp.md +71 -71
- package/docs/components/count-up.md +24 -24
- package/docs/components/count.md +24 -24
- package/docs/components/data-panel.md +24 -24
- package/docs/components/dialog-full.md +112 -112
- package/docs/components/dialog.md +127 -127
- package/docs/components/divider.md +24 -24
- package/docs/components/drawer.md +127 -127
- package/docs/components/dynamic-layer.md +118 -118
- package/docs/components/echarts.md +72 -72
- package/docs/components/editor.md +24 -24
- package/docs/components/form.md +27 -27
- package/docs/components/guid.md +39 -39
- package/docs/components/hpanel.md +24 -24
- package/docs/components/icon.md +56 -56
- package/docs/components/input-button.md +24 -24
- package/docs/components/input-cards.md +27 -0
- package/docs/components/input-code.md +24 -24
- package/docs/components/input-color.md +114 -114
- package/docs/components/input-layer.md +26 -26
- package/docs/components/input-rows.md +370 -370
- package/docs/components/input-tag.md +50 -50
- package/docs/components/input.md +129 -129
- package/docs/components/layer-form.md +61 -61
- package/docs/components/layer.md +127 -127
- package/docs/components/layout.md +132 -132
- package/docs/components/map.md +24 -24
- package/docs/components/menu.md +121 -121
- package/docs/components/meta/buttons.ts +56 -56
- package/docs/components/meta/comp.ts +224 -224
- package/docs/components/meta/dynamic-layer.ts +99 -99
- package/docs/components/meta/echarts.ts +64 -64
- package/docs/components/meta/form-item.ts +50 -50
- package/docs/components/meta/form.ts +160 -160
- package/docs/components/meta/guid.ts +42 -42
- package/docs/components/meta/input-cards.ts +112 -0
- package/docs/components/meta/input-color.ts +243 -243
- package/docs/components/meta/input-rows.ts +113 -113
- package/docs/components/meta/layer-form.ts +56 -56
- package/docs/components/meta/map.ts +68 -68
- package/docs/components/meta/number.ts +296 -296
- package/docs/components/meta/page.ts +67 -67
- package/docs/components/meta/panel.ts +83 -83
- package/docs/components/meta/radio.ts +55 -55
- package/docs/components/meta/slider.ts +270 -270
- package/docs/components/meta/table-panel.ts +154 -154
- package/docs/components/meta/table.ts +328 -328
- package/docs/components/meta/tabs.ts +136 -136
- package/docs/components/meta/tree-select.ts +199 -112
- package/docs/components/meta/workflow-viewer.ts +55 -55
- package/docs/components/meta/workflow.ts +113 -113
- package/docs/components/number.md +124 -124
- package/docs/components/page.md +42 -42
- package/docs/components/radio.md +87 -87
- package/docs/components/rate.md +71 -71
- package/docs/components/select.md +133 -133
- package/docs/components/slider-captcha.md +41 -41
- package/docs/components/slider.md +101 -101
- package/docs/components/switch.md +90 -90
- package/docs/components/table-panel.md +199 -199
- package/docs/components/table.md +202 -202
- package/docs/components/tabs.md +26 -26
- package/docs/components/title.md +24 -24
- package/docs/components/tree.md +207 -207
- package/docs/components/upload.md +117 -117
- package/docs/components/workflow-viewer.md +21 -21
- package/docs/components/workflow.md +21 -21
- package/docs/examples/autocomplete/advanced.vue +35 -35
- package/docs/examples/autocomplete/basic.vue +32 -32
- package/docs/examples/autocomplete/clearable.vue +33 -33
- package/docs/examples/autocomplete/custom-template.vue +49 -49
- package/docs/examples/autocomplete/disabled.vue +33 -33
- package/docs/examples/autocomplete/icon.vue +37 -37
- package/docs/examples/barcode/all-types.vue +380 -380
- package/docs/examples/barcode/basic.vue +14 -14
- package/docs/examples/barcode/props-appearance.vue +243 -243
- package/docs/examples/barcode/props-geometry.vue +143 -143
- package/docs/examples/barcode/props-logic.vue +216 -216
- package/docs/examples/barcode/props-symbology.vue +199 -199
- package/docs/examples/barcode/props-text.vue +268 -268
- package/docs/examples/button/basic.vue +7 -7
- package/docs/examples/button/danger-ghost.vue +17 -17
- package/docs/examples/button/disabled.vue +10 -10
- package/docs/examples/button/loading.vue +6 -6
- package/docs/examples/button/shape.vue +7 -7
- package/docs/examples/button/size.vue +14 -14
- package/docs/examples/button/type.vue +9 -9
- package/docs/examples/button-select/basic.vue +19 -19
- package/docs/examples/buttons/basic.vue +45 -45
- package/docs/examples/buttons/disabled.vue +36 -36
- package/docs/examples/buttons/dropdown.vue +63 -63
- package/docs/examples/buttons/group.vue +52 -52
- package/docs/examples/buttons/link.vue +47 -47
- package/docs/examples/buttons/popup.vue +39 -39
- package/docs/examples/buttons/size.vue +45 -45
- package/docs/examples/cascader-select/basic.vue +28 -28
- package/docs/examples/cascader-select/clearable.vue +34 -34
- package/docs/examples/cascader-select/disabled.vue +43 -43
- package/docs/examples/cascader-select/filterable.vue +37 -37
- package/docs/examples/cascader-select/methods.vue +84 -84
- package/docs/examples/cascader-select/multiple.vue +38 -38
- package/docs/examples/cascader-select/slot.vue +45 -45
- package/docs/examples/checkbox/basic.vue +18 -18
- package/docs/examples/checkbox/button.vue +19 -19
- package/docs/examples/checkbox/color.vue +25 -25
- package/docs/examples/checkbox/disabled.vue +17 -17
- package/docs/examples/checkbox/min-max.vue +20 -20
- package/docs/examples/checkbox/mixed.vue +56 -56
- package/docs/examples/checkbox/size.vue +28 -28
- package/docs/examples/code-mirror/basic.vue +11 -11
- package/docs/examples/code-mirror/events.vue +42 -42
- package/docs/examples/code-mirror/height.vue +25 -25
- package/docs/examples/code-mirror/mode.vue +33 -33
- package/docs/examples/code-mirror/readonly.vue +14 -14
- package/docs/examples/collapse/basic.vue +82 -82
- package/docs/examples/comp/basic.vue +7 -7
- package/docs/examples/comp/collapse.vue +38 -38
- package/docs/examples/comp/tabs.vue +38 -38
- package/docs/examples/count/basic.vue +54 -54
- package/docs/examples/count-up/basic.vue +89 -89
- package/docs/examples/data-panel/basic.vue +110 -110
- package/docs/examples/dialog/basic.vue +36 -36
- package/docs/examples/dialog/custom-buttons.vue +44 -44
- package/docs/examples/dialog/fullscreen.vue +23 -23
- package/docs/examples/dialog/no-mask.vue +17 -17
- package/docs/examples/dialog/size.vue +44 -44
- package/docs/examples/dialog/steps.vue +57 -57
- package/docs/examples/dialog-full/basic.vue +29 -29
- package/docs/examples/dialog-full/custom-buttons.vue +45 -45
- package/docs/examples/dialog-full/no-buttons.vue +18 -18
- package/docs/examples/dialog-full/no-header.vue +27 -27
- package/docs/examples/dialog-full/steps.vue +71 -71
- package/docs/examples/divider/basic.vue +52 -52
- package/docs/examples/drawer/basic.vue +35 -35
- package/docs/examples/drawer/custom-buttons.vue +34 -34
- package/docs/examples/drawer/direction.vue +47 -47
- package/docs/examples/drawer/mask.vue +36 -36
- package/docs/examples/drawer/no-buttons.vue +20 -20
- package/docs/examples/drawer/size.vue +28 -28
- package/docs/examples/dynamic-layer/basic.vue +33 -33
- package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
- package/docs/examples/dynamic-layer/form.vue +73 -73
- package/docs/examples/dynamic-layer/steps.vue +52 -52
- package/docs/examples/dynamic-layer/types.vue +40 -40
- package/docs/examples/echarts/basic.vue +31 -31
- package/docs/examples/echarts/dynamic.vue +43 -43
- package/docs/examples/echarts/line.vue +46 -46
- package/docs/examples/echarts/pie.vue +44 -44
- package/docs/examples/editor/basic.vue +15 -15
- package/docs/examples/form/basic.vue +242 -242
- package/docs/examples/guid/basic.vue +10 -10
- package/docs/examples/guid/size.vue +13 -13
- package/docs/examples/hpanel/basic.vue +79 -79
- package/docs/examples/icon/basic.vue +9 -9
- package/docs/examples/icon/rotate-flip.vue +9 -9
- package/docs/examples/icon/size.vue +7 -7
- package/docs/examples/input/basic.vue +10 -10
- package/docs/examples/input/clearable.vue +12 -12
- package/docs/examples/input/disabled.vue +6 -6
- package/docs/examples/input/icon.vue +23 -23
- package/docs/examples/input/password.vue +18 -18
- package/docs/examples/input/size.vue +13 -13
- package/docs/examples/input/textarea.vue +25 -25
- package/docs/examples/input/word-limit.vue +28 -28
- package/docs/examples/input-button/basic.vue +33 -33
- package/docs/examples/input-cards/basic.vue +82 -0
- package/docs/examples/input-code/basic.vue +29 -29
- package/docs/examples/input-color/basic.vue +10 -10
- package/docs/examples/input-color/disabled.vue +13 -13
- package/docs/examples/input-color/format.vue +17 -17
- package/docs/examples/input-color/no-alpha.vue +13 -13
- package/docs/examples/input-color/only-button.vue +15 -15
- package/docs/examples/input-color/predefine.vue +31 -31
- package/docs/examples/input-color/size.vue +15 -15
- package/docs/examples/input-layer/basic.vue +69 -69
- package/docs/examples/input-rows/basic.vue +73 -73
- package/docs/examples/input-rows/drag.vue +48 -48
- package/docs/examples/input-rows/layer-form.vue +85 -85
- package/docs/examples/input-rows/nested.vue +91 -91
- package/docs/examples/input-tag/basic.vue +27 -27
- package/docs/examples/input-tag/colors.vue +23 -23
- package/docs/examples/input-tag/readonly.vue +17 -17
- package/docs/examples/layer/basic.vue +43 -43
- package/docs/examples/layer/custom-buttons.vue +61 -61
- package/docs/examples/layer/drawer.vue +37 -37
- package/docs/examples/layer/full.vue +38 -38
- package/docs/examples/layer/modal.vue +34 -34
- package/docs/examples/layer/steps.vue +46 -46
- package/docs/examples/layer-form/basic.vue +76 -76
- package/docs/examples/layer-form/config.vue +82 -82
- package/docs/examples/layer-form/size.vue +72 -72
- package/docs/examples/layout/basic.vue +36 -36
- package/docs/examples/layout/custom-size.vue +50 -50
- package/docs/examples/layout/disable-move.vue +37 -37
- package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
- package/docs/examples/layout/min-size.vue +73 -73
- package/docs/examples/layout/percent-size.vue +80 -80
- package/docs/examples/layout/simple.vue +22 -22
- package/docs/examples/layout/top-side.vue +34 -34
- package/docs/examples/map/basic.vue +22 -22
- package/docs/examples/menu/basic.vue +58 -58
- package/docs/examples/menu/collapsed.vue +49 -49
- package/docs/examples/menu/horizontal.vue +44 -44
- package/docs/examples/menu/selection-test.vue +104 -104
- package/docs/examples/menu/theme.vue +46 -46
- package/docs/examples/menu/vertical.vue +46 -46
- package/docs/examples/number/advanced.vue +143 -143
- package/docs/examples/number/basic.vue +63 -63
- package/docs/examples/number/disabled.vue +49 -49
- package/docs/examples/number/size.vue +42 -42
- package/docs/examples/number/slots.vue +123 -123
- package/docs/examples/number/step-strictly.vue +41 -41
- package/docs/examples/number/step.vue +47 -47
- package/docs/examples/page/basic.vue +41 -41
- package/docs/examples/page/init.vue +87 -87
- package/docs/examples/panel/tool-buttons.vue +18 -18
- package/docs/examples/radio/basic.vue +17 -17
- package/docs/examples/radio/button.vue +17 -17
- package/docs/examples/radio/color.vue +18 -18
- package/docs/examples/radio/disabled.vue +17 -17
- package/docs/examples/radio/size.vue +29 -29
- package/docs/examples/rate/basic.vue +24 -24
- package/docs/examples/rate/half.vue +24 -24
- package/docs/examples/rate/readonly.vue +11 -11
- package/docs/examples/rate/text.vue +32 -32
- package/docs/examples/select/basic.vue +16 -16
- package/docs/examples/select/clearable.vue +22 -22
- package/docs/examples/select/disabled.vue +31 -31
- package/docs/examples/select/filterable.vue +24 -24
- package/docs/examples/select/group.vue +23 -23
- package/docs/examples/select/icon.vue +16 -16
- package/docs/examples/select/multiple.vue +18 -18
- package/docs/examples/select/size.vue +39 -39
- package/docs/examples/slider/basic.vue +42 -42
- package/docs/examples/slider/disabled.vue +17 -17
- package/docs/examples/slider/marks.vue +30 -30
- package/docs/examples/slider/size.vue +37 -37
- package/docs/examples/slider/tooltip.vue +36 -36
- package/docs/examples/slider/vertical.vue +26 -26
- package/docs/examples/slider-captcha/basic.vue +44 -44
- package/docs/examples/slider-captcha/custom.vue +48 -48
- package/docs/examples/switch/basic.vue +16 -16
- package/docs/examples/switch/disabled.vue +13 -13
- package/docs/examples/switch/loading.vue +13 -13
- package/docs/examples/switch/size.vue +15 -15
- package/docs/examples/switch/text.vue +13 -13
- package/docs/examples/table/actions.vue +116 -116
- package/docs/examples/table/add-row.vue +103 -103
- package/docs/examples/table/basic.vue +168 -168
- package/docs/examples/table/editable.vue +261 -261
- package/docs/examples/table/field-selection.vue +87 -87
- package/docs/examples/table/frozen-column.vue +140 -140
- package/docs/examples/table/height-mode.vue +99 -99
- package/docs/examples/table/multiple.vue +178 -178
- package/docs/examples/table/pagination.vue +151 -151
- package/docs/examples/table/single-selection.vue +64 -64
- package/docs/examples/table/tree-column.vue +119 -119
- package/docs/examples/table/tree-data.vue +141 -141
- package/docs/examples/table-panel/basic.vue +228 -228
- package/docs/examples/table-panel/batch-operations.vue +285 -285
- package/docs/examples/table-panel/filter.vue +209 -209
- package/docs/examples/table-panel/multiple-selection.vue +243 -243
- package/docs/examples/table-panel/pagination.vue +133 -133
- package/docs/examples/tabs/basic.vue +98 -98
- package/docs/examples/title/basic.vue +80 -80
- package/docs/examples/tree/accordion.vue +46 -46
- package/docs/examples/tree/basic.vue +50 -50
- package/docs/examples/tree/buttons.vue +53 -53
- package/docs/examples/tree/checkable.vue +52 -52
- package/docs/examples/tree/custom-keys.vue +39 -39
- package/docs/examples/tree/default-expanded.vue +52 -52
- package/docs/examples/tree/draggable.vue +29 -29
- package/docs/examples/tree/expand-on-click.vue +39 -39
- package/docs/examples/tree/flat-data.vue +20 -20
- package/docs/examples/tree/icon.vue +40 -40
- package/docs/examples/tree/load-data.vue +37 -37
- package/docs/examples/tree/methods.vue +74 -74
- package/docs/examples/tree/theme.vue +33 -33
- package/docs/examples/upload/accept.vue +31 -31
- package/docs/examples/upload/basic.vue +12 -12
- package/docs/examples/upload/drag.vue +11 -11
- package/docs/examples/upload/image.vue +17 -17
- package/docs/examples/upload/limit.vue +20 -20
- package/docs/examples/upload/multiple.vue +17 -17
- package/docs/examples/upload/readonly.vue +17 -17
- package/docs/examples/utils/cipher.vue +160 -160
- package/docs/examples/utils/common.vue +153 -153
- package/docs/examples/utils/date.vue +56 -56
- package/docs/examples/utils/dom.vue +52 -52
- package/docs/examples/utils/is.vue +70 -70
- package/docs/examples/workflow/basic.vue +265 -265
- package/docs/examples/workflow-viewer/basic.vue +248 -248
- package/package.json +23 -23
package/docs/components/tree.md
CHANGED
|
@@ -1,207 +1,207 @@
|
|
|
1
|
-
# Tree 树形控件
|
|
2
|
-
|
|
3
|
-
用清晰的层级结构展示信息,可展开或折叠。
|
|
4
|
-
|
|
5
|
-
## 基础用法
|
|
6
|
-
|
|
7
|
-
基础的树形结构展示。
|
|
8
|
-
|
|
9
|
-
<Demo :source-code="treeBasicCode">
|
|
10
|
-
<template #source>
|
|
11
|
-
<tree-basic />
|
|
12
|
-
</template>
|
|
13
|
-
<template #description>
|
|
14
|
-
通过 `list` 属性设置树形数据,`click` 事件监听节点点击。
|
|
15
|
-
</template>
|
|
16
|
-
</Demo>
|
|
17
|
-
|
|
18
|
-
## 扁平数据
|
|
19
|
-
|
|
20
|
-
支持扁平数组数据,会自动转换为树形结构。
|
|
21
|
-
|
|
22
|
-
<Demo :source-code="treeFlatDataCode">
|
|
23
|
-
<template #source>
|
|
24
|
-
<tree-flat-data />
|
|
25
|
-
</template>
|
|
26
|
-
<template #description>
|
|
27
|
-
设置 `is-tree-data` 为 `false`,组件会自动将扁平数组转换为树形结构。需要提供 `pid` 字段表示父级关系。
|
|
28
|
-
</template>
|
|
29
|
-
</Demo>
|
|
30
|
-
|
|
31
|
-
## 可选择
|
|
32
|
-
|
|
33
|
-
使用 `checkable` 属性开启复选框功能。
|
|
34
|
-
|
|
35
|
-
<Demo :source-code="treeCheckableCode">
|
|
36
|
-
<template #source>
|
|
37
|
-
<tree-checkable />
|
|
38
|
-
</template>
|
|
39
|
-
<template #description>
|
|
40
|
-
设置 `checkable` 为 `true` 显示复选框,通过 `default-checked-keys` 设置默认选中,`check` 事件监听勾选变化。
|
|
41
|
-
</template>
|
|
42
|
-
</Demo>
|
|
43
|
-
|
|
44
|
-
## 异步加载
|
|
45
|
-
|
|
46
|
-
通过 `load-data` 属性异步加载数据。
|
|
47
|
-
|
|
48
|
-
<Demo :source-code="treeLoadDataCode">
|
|
49
|
-
<template #source>
|
|
50
|
-
<tree-load-data />
|
|
51
|
-
</template>
|
|
52
|
-
<template #description>
|
|
53
|
-
使用 `load-data` 属性传入异步加载函数,`after-load-data` 在数据加载完成后触发。
|
|
54
|
-
</template>
|
|
55
|
-
</Demo>
|
|
56
|
-
|
|
57
|
-
## 图标
|
|
58
|
-
|
|
59
|
-
支持为节点设置图标。
|
|
60
|
-
|
|
61
|
-
<Demo :source-code="treeIconCode">
|
|
62
|
-
<template #source>
|
|
63
|
-
<tree-icon />
|
|
64
|
-
</template>
|
|
65
|
-
<template #description>
|
|
66
|
-
通过 `default-icon` 和 `default-icon-color` 设置默认图标,节点数据中的 `nodeIcon` 和 `nodeIconColor` 字段可以覆盖默认值。
|
|
67
|
-
</template>
|
|
68
|
-
</Demo>
|
|
69
|
-
|
|
70
|
-
## 节点操作按钮
|
|
71
|
-
|
|
72
|
-
通过 `tree-buttons` 属性为节点添加操作按钮。
|
|
73
|
-
|
|
74
|
-
<Demo :source-code="treeButtonsCode">
|
|
75
|
-
<template #source>
|
|
76
|
-
<tree-buttons />
|
|
77
|
-
</template>
|
|
78
|
-
<template #description>
|
|
79
|
-
配置 `tree-buttons` 数组,每个节点右侧会显示操作按钮,点击按钮会触发对应的 `click` 方法。
|
|
80
|
-
</template>
|
|
81
|
-
</Demo>
|
|
82
|
-
|
|
83
|
-
## 手风琴模式
|
|
84
|
-
|
|
85
|
-
使用 `accordion` 属性开启手风琴模式。
|
|
86
|
-
|
|
87
|
-
<Demo :source-code="treeAccordionCode">
|
|
88
|
-
<template #source>
|
|
89
|
-
<tree-accordion />
|
|
90
|
-
</template>
|
|
91
|
-
<template #description>
|
|
92
|
-
设置 `accordion` 为 `true`,每次只打开一个同级树节点。
|
|
93
|
-
</template>
|
|
94
|
-
</Demo>
|
|
95
|
-
|
|
96
|
-
## 主题
|
|
97
|
-
|
|
98
|
-
通过 `theme` 属性设置主题样式。
|
|
99
|
-
|
|
100
|
-
<Demo :source-code="treeThemeCode">
|
|
101
|
-
<template #source>
|
|
102
|
-
<tree-theme />
|
|
103
|
-
</template>
|
|
104
|
-
<template #description>
|
|
105
|
-
支持 `default` 和 `menu` 两种主题,`menu` 主题适用于菜单场景。
|
|
106
|
-
</template>
|
|
107
|
-
</Demo>
|
|
108
|
-
|
|
109
|
-
## 可拖拽
|
|
110
|
-
|
|
111
|
-
使用 `draggable` 属性开启拖拽功能。
|
|
112
|
-
|
|
113
|
-
<Demo :source-code="treeDraggableCode">
|
|
114
|
-
<template #source>
|
|
115
|
-
<tree-draggable />
|
|
116
|
-
</template>
|
|
117
|
-
<template #description>
|
|
118
|
-
设置 `draggable` 为 `true` 开启拖拽,节点数据中的 `canInner` 字段控制是否允许拖入内部。
|
|
119
|
-
</template>
|
|
120
|
-
</Demo>
|
|
121
|
-
|
|
122
|
-
## 点击展开
|
|
123
|
-
|
|
124
|
-
使用 `expand-on-click-node` 属性控制点击节点是否展开。
|
|
125
|
-
|
|
126
|
-
<Demo :source-code="treeExpandOnClickCode">
|
|
127
|
-
<template #source>
|
|
128
|
-
<tree-expand-on-click />
|
|
129
|
-
</template>
|
|
130
|
-
<template #description>
|
|
131
|
-
设置 `expand-on-click-node` 为 `true`,点击节点时会展开或收缩,默认为 `false`,只有点击箭头图标才会展开。
|
|
132
|
-
</template>
|
|
133
|
-
</Demo>
|
|
134
|
-
|
|
135
|
-
## 自定义字段名
|
|
136
|
-
|
|
137
|
-
通过 `label-key`、`value-key`、`pid-key` 等属性自定义字段名。
|
|
138
|
-
|
|
139
|
-
<Demo :source-code="treeCustomKeysCode">
|
|
140
|
-
<template #source>
|
|
141
|
-
<tree-custom-keys />
|
|
142
|
-
</template>
|
|
143
|
-
<template #description>
|
|
144
|
-
当数据字段名不是默认值时,可以通过这些属性自定义字段名。
|
|
145
|
-
</template>
|
|
146
|
-
</Demo>
|
|
147
|
-
|
|
148
|
-
## 默认展开
|
|
149
|
-
|
|
150
|
-
通过 `default-expanded-keys` 和 `default-expand-all` 控制默认展开状态。
|
|
151
|
-
|
|
152
|
-
<Demo :source-code="treeDefaultExpandedCode">
|
|
153
|
-
<template #source>
|
|
154
|
-
<tree-default-expanded />
|
|
155
|
-
</template>
|
|
156
|
-
<template #description>
|
|
157
|
-
使用 `default-expanded-keys` 设置默认展开的节点,`default-expand-all` 控制是否默认展开所有节点。
|
|
158
|
-
</template>
|
|
159
|
-
</Demo>
|
|
160
|
-
|
|
161
|
-
## 方法调用
|
|
162
|
-
|
|
163
|
-
通过 ref 调用组件方法。
|
|
164
|
-
|
|
165
|
-
<Demo :source-code="treeMethodsCode">
|
|
166
|
-
<template #source>
|
|
167
|
-
<tree-methods />
|
|
168
|
-
</template>
|
|
169
|
-
<template #description>
|
|
170
|
-
使用 `setValue` 设置选中节点,`getValue` 获取选中节点,`setCheck` 设置选中复选框,`getCheck` 获取选中的复选框,`refreshData` 刷新数据。
|
|
171
|
-
</template>
|
|
172
|
-
</Demo>
|
|
173
|
-
|
|
174
|
-
## API
|
|
175
|
-
|
|
176
|
-
<ApiTable :data="treeApi" componentName="tree" />
|
|
177
|
-
|
|
178
|
-
<script setup>
|
|
179
|
-
import TreeBasic from '../examples/tree/basic.vue'
|
|
180
|
-
import TreeFlatData from '../examples/tree/flat-data.vue'
|
|
181
|
-
import TreeCheckable from '../examples/tree/checkable.vue'
|
|
182
|
-
import TreeLoadData from '../examples/tree/load-data.vue'
|
|
183
|
-
import TreeIcon from '../examples/tree/icon.vue'
|
|
184
|
-
import TreeButtons from '../examples/tree/buttons.vue'
|
|
185
|
-
import TreeAccordion from '../examples/tree/accordion.vue'
|
|
186
|
-
import TreeTheme from '../examples/tree/theme.vue'
|
|
187
|
-
import TreeDraggable from '../examples/tree/draggable.vue'
|
|
188
|
-
import TreeExpandOnClick from '../examples/tree/expand-on-click.vue'
|
|
189
|
-
import TreeCustomKeys from '../examples/tree/custom-keys.vue'
|
|
190
|
-
import TreeDefaultExpanded from '../examples/tree/default-expanded.vue'
|
|
191
|
-
import TreeMethods from '../examples/tree/methods.vue'
|
|
192
|
-
import treeApi from './meta/tree'
|
|
193
|
-
|
|
194
|
-
import treeBasicCode from '../examples/tree/basic.vue?raw'
|
|
195
|
-
import treeFlatDataCode from '../examples/tree/flat-data.vue?raw'
|
|
196
|
-
import treeCheckableCode from '../examples/tree/checkable.vue?raw'
|
|
197
|
-
import treeLoadDataCode from '../examples/tree/load-data.vue?raw'
|
|
198
|
-
import treeIconCode from '../examples/tree/icon.vue?raw'
|
|
199
|
-
import treeButtonsCode from '../examples/tree/buttons.vue?raw'
|
|
200
|
-
import treeAccordionCode from '../examples/tree/accordion.vue?raw'
|
|
201
|
-
import treeThemeCode from '../examples/tree/theme.vue?raw'
|
|
202
|
-
import treeDraggableCode from '../examples/tree/draggable.vue?raw'
|
|
203
|
-
import treeExpandOnClickCode from '../examples/tree/expand-on-click.vue?raw'
|
|
204
|
-
import treeCustomKeysCode from '../examples/tree/custom-keys.vue?raw'
|
|
205
|
-
import treeDefaultExpandedCode from '../examples/tree/default-expanded.vue?raw'
|
|
206
|
-
import treeMethodsCode from '../examples/tree/methods.vue?raw'
|
|
207
|
-
</script>
|
|
1
|
+
# Tree 树形控件
|
|
2
|
+
|
|
3
|
+
用清晰的层级结构展示信息,可展开或折叠。
|
|
4
|
+
|
|
5
|
+
## 基础用法
|
|
6
|
+
|
|
7
|
+
基础的树形结构展示。
|
|
8
|
+
|
|
9
|
+
<Demo :source-code="treeBasicCode">
|
|
10
|
+
<template #source>
|
|
11
|
+
<tree-basic />
|
|
12
|
+
</template>
|
|
13
|
+
<template #description>
|
|
14
|
+
通过 `list` 属性设置树形数据,`click` 事件监听节点点击。
|
|
15
|
+
</template>
|
|
16
|
+
</Demo>
|
|
17
|
+
|
|
18
|
+
## 扁平数据
|
|
19
|
+
|
|
20
|
+
支持扁平数组数据,会自动转换为树形结构。
|
|
21
|
+
|
|
22
|
+
<Demo :source-code="treeFlatDataCode">
|
|
23
|
+
<template #source>
|
|
24
|
+
<tree-flat-data />
|
|
25
|
+
</template>
|
|
26
|
+
<template #description>
|
|
27
|
+
设置 `is-tree-data` 为 `false`,组件会自动将扁平数组转换为树形结构。需要提供 `pid` 字段表示父级关系。
|
|
28
|
+
</template>
|
|
29
|
+
</Demo>
|
|
30
|
+
|
|
31
|
+
## 可选择
|
|
32
|
+
|
|
33
|
+
使用 `checkable` 属性开启复选框功能。
|
|
34
|
+
|
|
35
|
+
<Demo :source-code="treeCheckableCode">
|
|
36
|
+
<template #source>
|
|
37
|
+
<tree-checkable />
|
|
38
|
+
</template>
|
|
39
|
+
<template #description>
|
|
40
|
+
设置 `checkable` 为 `true` 显示复选框,通过 `default-checked-keys` 设置默认选中,`check` 事件监听勾选变化。
|
|
41
|
+
</template>
|
|
42
|
+
</Demo>
|
|
43
|
+
|
|
44
|
+
## 异步加载
|
|
45
|
+
|
|
46
|
+
通过 `load-data` 属性异步加载数据。
|
|
47
|
+
|
|
48
|
+
<Demo :source-code="treeLoadDataCode">
|
|
49
|
+
<template #source>
|
|
50
|
+
<tree-load-data />
|
|
51
|
+
</template>
|
|
52
|
+
<template #description>
|
|
53
|
+
使用 `load-data` 属性传入异步加载函数,`after-load-data` 在数据加载完成后触发。
|
|
54
|
+
</template>
|
|
55
|
+
</Demo>
|
|
56
|
+
|
|
57
|
+
## 图标
|
|
58
|
+
|
|
59
|
+
支持为节点设置图标。
|
|
60
|
+
|
|
61
|
+
<Demo :source-code="treeIconCode">
|
|
62
|
+
<template #source>
|
|
63
|
+
<tree-icon />
|
|
64
|
+
</template>
|
|
65
|
+
<template #description>
|
|
66
|
+
通过 `default-icon` 和 `default-icon-color` 设置默认图标,节点数据中的 `nodeIcon` 和 `nodeIconColor` 字段可以覆盖默认值。
|
|
67
|
+
</template>
|
|
68
|
+
</Demo>
|
|
69
|
+
|
|
70
|
+
## 节点操作按钮
|
|
71
|
+
|
|
72
|
+
通过 `tree-buttons` 属性为节点添加操作按钮。
|
|
73
|
+
|
|
74
|
+
<Demo :source-code="treeButtonsCode">
|
|
75
|
+
<template #source>
|
|
76
|
+
<tree-buttons />
|
|
77
|
+
</template>
|
|
78
|
+
<template #description>
|
|
79
|
+
配置 `tree-buttons` 数组,每个节点右侧会显示操作按钮,点击按钮会触发对应的 `click` 方法。
|
|
80
|
+
</template>
|
|
81
|
+
</Demo>
|
|
82
|
+
|
|
83
|
+
## 手风琴模式
|
|
84
|
+
|
|
85
|
+
使用 `accordion` 属性开启手风琴模式。
|
|
86
|
+
|
|
87
|
+
<Demo :source-code="treeAccordionCode">
|
|
88
|
+
<template #source>
|
|
89
|
+
<tree-accordion />
|
|
90
|
+
</template>
|
|
91
|
+
<template #description>
|
|
92
|
+
设置 `accordion` 为 `true`,每次只打开一个同级树节点。
|
|
93
|
+
</template>
|
|
94
|
+
</Demo>
|
|
95
|
+
|
|
96
|
+
## 主题
|
|
97
|
+
|
|
98
|
+
通过 `theme` 属性设置主题样式。
|
|
99
|
+
|
|
100
|
+
<Demo :source-code="treeThemeCode">
|
|
101
|
+
<template #source>
|
|
102
|
+
<tree-theme />
|
|
103
|
+
</template>
|
|
104
|
+
<template #description>
|
|
105
|
+
支持 `default` 和 `menu` 两种主题,`menu` 主题适用于菜单场景。
|
|
106
|
+
</template>
|
|
107
|
+
</Demo>
|
|
108
|
+
|
|
109
|
+
## 可拖拽
|
|
110
|
+
|
|
111
|
+
使用 `draggable` 属性开启拖拽功能。
|
|
112
|
+
|
|
113
|
+
<Demo :source-code="treeDraggableCode">
|
|
114
|
+
<template #source>
|
|
115
|
+
<tree-draggable />
|
|
116
|
+
</template>
|
|
117
|
+
<template #description>
|
|
118
|
+
设置 `draggable` 为 `true` 开启拖拽,节点数据中的 `canInner` 字段控制是否允许拖入内部。
|
|
119
|
+
</template>
|
|
120
|
+
</Demo>
|
|
121
|
+
|
|
122
|
+
## 点击展开
|
|
123
|
+
|
|
124
|
+
使用 `expand-on-click-node` 属性控制点击节点是否展开。
|
|
125
|
+
|
|
126
|
+
<Demo :source-code="treeExpandOnClickCode">
|
|
127
|
+
<template #source>
|
|
128
|
+
<tree-expand-on-click />
|
|
129
|
+
</template>
|
|
130
|
+
<template #description>
|
|
131
|
+
设置 `expand-on-click-node` 为 `true`,点击节点时会展开或收缩,默认为 `false`,只有点击箭头图标才会展开。
|
|
132
|
+
</template>
|
|
133
|
+
</Demo>
|
|
134
|
+
|
|
135
|
+
## 自定义字段名
|
|
136
|
+
|
|
137
|
+
通过 `label-key`、`value-key`、`pid-key` 等属性自定义字段名。
|
|
138
|
+
|
|
139
|
+
<Demo :source-code="treeCustomKeysCode">
|
|
140
|
+
<template #source>
|
|
141
|
+
<tree-custom-keys />
|
|
142
|
+
</template>
|
|
143
|
+
<template #description>
|
|
144
|
+
当数据字段名不是默认值时,可以通过这些属性自定义字段名。
|
|
145
|
+
</template>
|
|
146
|
+
</Demo>
|
|
147
|
+
|
|
148
|
+
## 默认展开
|
|
149
|
+
|
|
150
|
+
通过 `default-expanded-keys` 和 `default-expand-all` 控制默认展开状态。
|
|
151
|
+
|
|
152
|
+
<Demo :source-code="treeDefaultExpandedCode">
|
|
153
|
+
<template #source>
|
|
154
|
+
<tree-default-expanded />
|
|
155
|
+
</template>
|
|
156
|
+
<template #description>
|
|
157
|
+
使用 `default-expanded-keys` 设置默认展开的节点,`default-expand-all` 控制是否默认展开所有节点。
|
|
158
|
+
</template>
|
|
159
|
+
</Demo>
|
|
160
|
+
|
|
161
|
+
## 方法调用
|
|
162
|
+
|
|
163
|
+
通过 ref 调用组件方法。
|
|
164
|
+
|
|
165
|
+
<Demo :source-code="treeMethodsCode">
|
|
166
|
+
<template #source>
|
|
167
|
+
<tree-methods />
|
|
168
|
+
</template>
|
|
169
|
+
<template #description>
|
|
170
|
+
使用 `setValue` 设置选中节点,`getValue` 获取选中节点,`setCheck` 设置选中复选框,`getCheck` 获取选中的复选框,`refreshData` 刷新数据。
|
|
171
|
+
</template>
|
|
172
|
+
</Demo>
|
|
173
|
+
|
|
174
|
+
## API
|
|
175
|
+
|
|
176
|
+
<ApiTable :data="treeApi" componentName="tree" />
|
|
177
|
+
|
|
178
|
+
<script setup>
|
|
179
|
+
import TreeBasic from '../examples/tree/basic.vue'
|
|
180
|
+
import TreeFlatData from '../examples/tree/flat-data.vue'
|
|
181
|
+
import TreeCheckable from '../examples/tree/checkable.vue'
|
|
182
|
+
import TreeLoadData from '../examples/tree/load-data.vue'
|
|
183
|
+
import TreeIcon from '../examples/tree/icon.vue'
|
|
184
|
+
import TreeButtons from '../examples/tree/buttons.vue'
|
|
185
|
+
import TreeAccordion from '../examples/tree/accordion.vue'
|
|
186
|
+
import TreeTheme from '../examples/tree/theme.vue'
|
|
187
|
+
import TreeDraggable from '../examples/tree/draggable.vue'
|
|
188
|
+
import TreeExpandOnClick from '../examples/tree/expand-on-click.vue'
|
|
189
|
+
import TreeCustomKeys from '../examples/tree/custom-keys.vue'
|
|
190
|
+
import TreeDefaultExpanded from '../examples/tree/default-expanded.vue'
|
|
191
|
+
import TreeMethods from '../examples/tree/methods.vue'
|
|
192
|
+
import treeApi from './meta/tree'
|
|
193
|
+
|
|
194
|
+
import treeBasicCode from '../examples/tree/basic.vue?raw'
|
|
195
|
+
import treeFlatDataCode from '../examples/tree/flat-data.vue?raw'
|
|
196
|
+
import treeCheckableCode from '../examples/tree/checkable.vue?raw'
|
|
197
|
+
import treeLoadDataCode from '../examples/tree/load-data.vue?raw'
|
|
198
|
+
import treeIconCode from '../examples/tree/icon.vue?raw'
|
|
199
|
+
import treeButtonsCode from '../examples/tree/buttons.vue?raw'
|
|
200
|
+
import treeAccordionCode from '../examples/tree/accordion.vue?raw'
|
|
201
|
+
import treeThemeCode from '../examples/tree/theme.vue?raw'
|
|
202
|
+
import treeDraggableCode from '../examples/tree/draggable.vue?raw'
|
|
203
|
+
import treeExpandOnClickCode from '../examples/tree/expand-on-click.vue?raw'
|
|
204
|
+
import treeCustomKeysCode from '../examples/tree/custom-keys.vue?raw'
|
|
205
|
+
import treeDefaultExpandedCode from '../examples/tree/default-expanded.vue?raw'
|
|
206
|
+
import treeMethodsCode from '../examples/tree/methods.vue?raw'
|
|
207
|
+
</script>
|
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
# Upload 上传
|
|
2
|
-
|
|
3
|
-
通过点击或者拖拽上传文件。
|
|
4
|
-
|
|
5
|
-
## 基础用法
|
|
6
|
-
|
|
7
|
-
最基本的上传组件。
|
|
8
|
-
|
|
9
|
-
<Demo :source-code="uploadBasicCode">
|
|
10
|
-
<template #source>
|
|
11
|
-
<upload-basic />
|
|
12
|
-
</template>
|
|
13
|
-
<template #description>
|
|
14
|
-
使用 `v-model` 绑定文件ID值。设置 `is-not-api` 为 `true` 可在不调用后端API的情况下预览效果。
|
|
15
|
-
</template>
|
|
16
|
-
</Demo>
|
|
17
|
-
|
|
18
|
-
## 多文件上传
|
|
19
|
-
|
|
20
|
-
支持一次性选择多个文件进行上传。
|
|
21
|
-
|
|
22
|
-
<Demo :source-code="uploadMultipleCode">
|
|
23
|
-
<template #source>
|
|
24
|
-
<upload-multiple />
|
|
25
|
-
</template>
|
|
26
|
-
<template #description>
|
|
27
|
-
设置 `multiple` 属性启用多选模式。使用 `limit` 属性限制上传数量,设置为 `-1` 表示不限制。
|
|
28
|
-
</template>
|
|
29
|
-
</Demo>
|
|
30
|
-
|
|
31
|
-
## 拖拽上传
|
|
32
|
-
|
|
33
|
-
支持拖拽文件到指定区域进行上传。
|
|
34
|
-
|
|
35
|
-
<Demo :source-code="uploadDragCode">
|
|
36
|
-
<template #source>
|
|
37
|
-
<upload-drag />
|
|
38
|
-
</template>
|
|
39
|
-
<template #description>
|
|
40
|
-
设置 `drag` 属性为 `true` 即可启用拖拽上传功能。
|
|
41
|
-
</template>
|
|
42
|
-
</Demo>
|
|
43
|
-
|
|
44
|
-
## 图片上传
|
|
45
|
-
|
|
46
|
-
专门用于上传图片的模式,提供图片预览功能。
|
|
47
|
-
|
|
48
|
-
<Demo :source-code="uploadImageCode">
|
|
49
|
-
<template #source>
|
|
50
|
-
<upload-image />
|
|
51
|
-
</template>
|
|
52
|
-
<template #description>
|
|
53
|
-
设置 `is-upload-img` 属性为 `true` 启用图片上传模式,会以卡片形式展示上传的图片。
|
|
54
|
-
</template>
|
|
55
|
-
</Demo>
|
|
56
|
-
|
|
57
|
-
## 限制上传数量和大小
|
|
58
|
-
|
|
59
|
-
可以限制上传文件的数量和大小。
|
|
60
|
-
|
|
61
|
-
<Demo :source-code="uploadLimitCode">
|
|
62
|
-
<template #source>
|
|
63
|
-
<upload-limit />
|
|
64
|
-
</template>
|
|
65
|
-
<template #description>
|
|
66
|
-
使用 `limit` 属性限制上传数量,`max-size` 和 `size-type` 配合使用限制文件大小。设置 `is-tip` 显示提示信息。
|
|
67
|
-
</template>
|
|
68
|
-
</Demo>
|
|
69
|
-
|
|
70
|
-
## 文件类型限制
|
|
71
|
-
|
|
72
|
-
限制上传的文件类型。
|
|
73
|
-
|
|
74
|
-
<Demo :source-code="uploadAcceptCode">
|
|
75
|
-
<template #source>
|
|
76
|
-
<upload-accept />
|
|
77
|
-
</template>
|
|
78
|
-
<template #description>
|
|
79
|
-
使用 `accept` 属性指定接受的文件类型,例如 `.pdf`、`.xlsx,.xls`、`image/*` 等。
|
|
80
|
-
</template>
|
|
81
|
-
</Demo>
|
|
82
|
-
|
|
83
|
-
## 只读模式
|
|
84
|
-
|
|
85
|
-
只读状态下不能上传,只能查看已上传的文件。
|
|
86
|
-
|
|
87
|
-
<Demo :source-code="uploadReadonlyCode">
|
|
88
|
-
<template #source>
|
|
89
|
-
<upload-readonly />
|
|
90
|
-
</template>
|
|
91
|
-
<template #description>
|
|
92
|
-
设置 `readonly` 属性为 `true` 即可进入只读模式。可通过 `btn-text` 自定义按钮文字。
|
|
93
|
-
</template>
|
|
94
|
-
</Demo>
|
|
95
|
-
|
|
96
|
-
## API
|
|
97
|
-
|
|
98
|
-
<ApiTable :data="uploadApi" componentName="upload" />
|
|
99
|
-
|
|
100
|
-
<script setup>
|
|
101
|
-
import UploadBasic from '../examples/upload/basic.vue'
|
|
102
|
-
import UploadMultiple from '../examples/upload/multiple.vue'
|
|
103
|
-
import UploadDrag from '../examples/upload/drag.vue'
|
|
104
|
-
import UploadImage from '../examples/upload/image.vue'
|
|
105
|
-
import UploadLimit from '../examples/upload/limit.vue'
|
|
106
|
-
import UploadAccept from '../examples/upload/accept.vue'
|
|
107
|
-
import UploadReadonly from '../examples/upload/readonly.vue'
|
|
108
|
-
import uploadApi from './meta/upload'
|
|
109
|
-
|
|
110
|
-
import uploadBasicCode from '../examples/upload/basic.vue?raw'
|
|
111
|
-
import uploadMultipleCode from '../examples/upload/multiple.vue?raw'
|
|
112
|
-
import uploadDragCode from '../examples/upload/drag.vue?raw'
|
|
113
|
-
import uploadImageCode from '../examples/upload/image.vue?raw'
|
|
114
|
-
import uploadLimitCode from '../examples/upload/limit.vue?raw'
|
|
115
|
-
import uploadAcceptCode from '../examples/upload/accept.vue?raw'
|
|
116
|
-
import uploadReadonlyCode from '../examples/upload/readonly.vue?raw'
|
|
117
|
-
</script>
|
|
1
|
+
# Upload 上传
|
|
2
|
+
|
|
3
|
+
通过点击或者拖拽上传文件。
|
|
4
|
+
|
|
5
|
+
## 基础用法
|
|
6
|
+
|
|
7
|
+
最基本的上传组件。
|
|
8
|
+
|
|
9
|
+
<Demo :source-code="uploadBasicCode">
|
|
10
|
+
<template #source>
|
|
11
|
+
<upload-basic />
|
|
12
|
+
</template>
|
|
13
|
+
<template #description>
|
|
14
|
+
使用 `v-model` 绑定文件ID值。设置 `is-not-api` 为 `true` 可在不调用后端API的情况下预览效果。
|
|
15
|
+
</template>
|
|
16
|
+
</Demo>
|
|
17
|
+
|
|
18
|
+
## 多文件上传
|
|
19
|
+
|
|
20
|
+
支持一次性选择多个文件进行上传。
|
|
21
|
+
|
|
22
|
+
<Demo :source-code="uploadMultipleCode">
|
|
23
|
+
<template #source>
|
|
24
|
+
<upload-multiple />
|
|
25
|
+
</template>
|
|
26
|
+
<template #description>
|
|
27
|
+
设置 `multiple` 属性启用多选模式。使用 `limit` 属性限制上传数量,设置为 `-1` 表示不限制。
|
|
28
|
+
</template>
|
|
29
|
+
</Demo>
|
|
30
|
+
|
|
31
|
+
## 拖拽上传
|
|
32
|
+
|
|
33
|
+
支持拖拽文件到指定区域进行上传。
|
|
34
|
+
|
|
35
|
+
<Demo :source-code="uploadDragCode">
|
|
36
|
+
<template #source>
|
|
37
|
+
<upload-drag />
|
|
38
|
+
</template>
|
|
39
|
+
<template #description>
|
|
40
|
+
设置 `drag` 属性为 `true` 即可启用拖拽上传功能。
|
|
41
|
+
</template>
|
|
42
|
+
</Demo>
|
|
43
|
+
|
|
44
|
+
## 图片上传
|
|
45
|
+
|
|
46
|
+
专门用于上传图片的模式,提供图片预览功能。
|
|
47
|
+
|
|
48
|
+
<Demo :source-code="uploadImageCode">
|
|
49
|
+
<template #source>
|
|
50
|
+
<upload-image />
|
|
51
|
+
</template>
|
|
52
|
+
<template #description>
|
|
53
|
+
设置 `is-upload-img` 属性为 `true` 启用图片上传模式,会以卡片形式展示上传的图片。
|
|
54
|
+
</template>
|
|
55
|
+
</Demo>
|
|
56
|
+
|
|
57
|
+
## 限制上传数量和大小
|
|
58
|
+
|
|
59
|
+
可以限制上传文件的数量和大小。
|
|
60
|
+
|
|
61
|
+
<Demo :source-code="uploadLimitCode">
|
|
62
|
+
<template #source>
|
|
63
|
+
<upload-limit />
|
|
64
|
+
</template>
|
|
65
|
+
<template #description>
|
|
66
|
+
使用 `limit` 属性限制上传数量,`max-size` 和 `size-type` 配合使用限制文件大小。设置 `is-tip` 显示提示信息。
|
|
67
|
+
</template>
|
|
68
|
+
</Demo>
|
|
69
|
+
|
|
70
|
+
## 文件类型限制
|
|
71
|
+
|
|
72
|
+
限制上传的文件类型。
|
|
73
|
+
|
|
74
|
+
<Demo :source-code="uploadAcceptCode">
|
|
75
|
+
<template #source>
|
|
76
|
+
<upload-accept />
|
|
77
|
+
</template>
|
|
78
|
+
<template #description>
|
|
79
|
+
使用 `accept` 属性指定接受的文件类型,例如 `.pdf`、`.xlsx,.xls`、`image/*` 等。
|
|
80
|
+
</template>
|
|
81
|
+
</Demo>
|
|
82
|
+
|
|
83
|
+
## 只读模式
|
|
84
|
+
|
|
85
|
+
只读状态下不能上传,只能查看已上传的文件。
|
|
86
|
+
|
|
87
|
+
<Demo :source-code="uploadReadonlyCode">
|
|
88
|
+
<template #source>
|
|
89
|
+
<upload-readonly />
|
|
90
|
+
</template>
|
|
91
|
+
<template #description>
|
|
92
|
+
设置 `readonly` 属性为 `true` 即可进入只读模式。可通过 `btn-text` 自定义按钮文字。
|
|
93
|
+
</template>
|
|
94
|
+
</Demo>
|
|
95
|
+
|
|
96
|
+
## API
|
|
97
|
+
|
|
98
|
+
<ApiTable :data="uploadApi" componentName="upload" />
|
|
99
|
+
|
|
100
|
+
<script setup>
|
|
101
|
+
import UploadBasic from '../examples/upload/basic.vue'
|
|
102
|
+
import UploadMultiple from '../examples/upload/multiple.vue'
|
|
103
|
+
import UploadDrag from '../examples/upload/drag.vue'
|
|
104
|
+
import UploadImage from '../examples/upload/image.vue'
|
|
105
|
+
import UploadLimit from '../examples/upload/limit.vue'
|
|
106
|
+
import UploadAccept from '../examples/upload/accept.vue'
|
|
107
|
+
import UploadReadonly from '../examples/upload/readonly.vue'
|
|
108
|
+
import uploadApi from './meta/upload'
|
|
109
|
+
|
|
110
|
+
import uploadBasicCode from '../examples/upload/basic.vue?raw'
|
|
111
|
+
import uploadMultipleCode from '../examples/upload/multiple.vue?raw'
|
|
112
|
+
import uploadDragCode from '../examples/upload/drag.vue?raw'
|
|
113
|
+
import uploadImageCode from '../examples/upload/image.vue?raw'
|
|
114
|
+
import uploadLimitCode from '../examples/upload/limit.vue?raw'
|
|
115
|
+
import uploadAcceptCode from '../examples/upload/accept.vue?raw'
|
|
116
|
+
import uploadReadonlyCode from '../examples/upload/readonly.vue?raw'
|
|
117
|
+
</script>
|