sard-uniapp 1.19.1 → 1.19.3
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/CHANGELOG.md +30 -0
- package/components/accordion/README.md +91 -0
- package/components/accordion/accordion.vue +7 -0
- package/components/accordion-item/accordion-item.vue +9 -0
- package/components/action-sheet/README.md +85 -0
- package/components/action-sheet/action-sheet.vue +15 -0
- package/components/action-sheet/variables.scss +1 -1
- package/components/alert/README.md +74 -0
- package/components/alert/alert.vue +10 -0
- package/components/avatar/README.md +86 -0
- package/components/avatar/avatar.vue +8 -0
- package/components/back-top/README.md +134 -0
- package/components/back-top/back-top.vue +9 -0
- package/components/badge/README.md +95 -0
- package/components/badge/badge.vue +11 -0
- package/components/button/README.md +162 -0
- package/components/button/button.vue +46 -0
- package/components/calendar/README.md +94 -0
- package/components/calendar/calendar.vue +21 -2
- package/components/calendar-input/README.md +65 -0
- package/components/calendar-input/calendar-input.d.ts +3 -2
- package/components/calendar-input/calendar-input.vue +32 -0
- package/components/calendar-input/common.d.ts +2 -0
- package/components/calendar-popout/README.md +100 -0
- package/components/calendar-popout/calendar-popout.d.ts +12 -2
- package/components/calendar-popout/calendar-popout.vue +32 -1
- package/components/calendar-popout/common.d.ts +2 -0
- package/components/card/README.md +82 -0
- package/components/card/card.vue +9 -0
- package/components/cascader/README.md +117 -0
- package/components/cascader/cascader.vue +13 -0
- package/components/cascader-input/README.md +51 -0
- package/components/cascader-input/cascader-input.d.ts +2 -1
- package/components/cascader-input/cascader-input.vue +32 -6
- package/components/cascader-input/common.d.ts +2 -0
- package/components/cascader-input/common.js +1 -0
- package/components/cascader-popout/README.md +53 -0
- package/components/cascader-popout/cascader-popout.d.ts +1 -1
- package/components/cascader-popout/cascader-popout.vue +21 -2
- package/components/check-icon/variables.scss +1 -1
- package/components/checkbox/README.md +185 -0
- package/components/checkbox/checkbox.vue +17 -0
- package/components/checkbox/variables.scss +1 -1
- package/components/checkbox-group/checkbox-group.vue +15 -0
- package/components/checkbox-input/README.md +44 -0
- package/components/checkbox-input/checkbox-input.d.ts +1 -0
- package/components/checkbox-input/checkbox-input.vue +25 -2
- package/components/checkbox-input/common.d.ts +2 -0
- package/components/checkbox-input/common.js +5 -1
- package/components/checkbox-popout/README.md +52 -0
- package/components/checkbox-popout/checkbox-popout.vue +19 -0
- package/components/col/col.vue +7 -0
- package/components/collapse/README.md +45 -0
- package/components/collapse/collapse.vue +3 -0
- package/components/config/index.d.ts +46 -1
- package/components/config/index.js +37 -0
- package/components/count-down/README.md +97 -0
- package/components/count-down/count-down.vue +8 -0
- package/components/count-to/README.md +61 -0
- package/components/count-to/count-to.vue +7 -0
- package/components/crop-image/README.md +86 -0
- package/components/crop-image/crop-image.vue +15 -0
- package/components/datetime-picker/README.md +136 -0
- package/components/datetime-picker/datetime-picker.vue +14 -0
- package/components/datetime-picker-input/README.md +82 -0
- package/components/datetime-picker-input/common.d.ts +2 -0
- package/components/datetime-picker-input/common.js +1 -0
- package/components/datetime-picker-input/datetime-picker-input.d.ts +2 -1
- package/components/datetime-picker-input/datetime-picker-input.vue +26 -0
- package/components/datetime-picker-popout/README.md +77 -0
- package/components/datetime-picker-popout/datetime-picker-popout.d.ts +1 -1
- package/components/datetime-picker-popout/datetime-picker-popout.vue +21 -2
- package/components/datetime-range-picker/README.md +49 -0
- package/components/datetime-range-picker/datetime-range-picker.vue +15 -0
- package/components/datetime-range-picker-input/README.md +58 -0
- package/components/datetime-range-picker-input/common.d.ts +2 -0
- package/components/datetime-range-picker-input/common.js +1 -0
- package/components/datetime-range-picker-input/datetime-range-picker-input.d.ts +1 -0
- package/components/datetime-range-picker-input/datetime-range-picker-input.vue +27 -0
- package/components/datetime-range-picker-popout/README.md +53 -0
- package/components/datetime-range-picker-popout/datetime-range-picker-popout.vue +22 -2
- package/components/dialog/README.md +192 -0
- package/components/dialog/dialog.d.ts +1 -1
- package/components/dialog/dialog.vue +33 -0
- package/components/dialog-agent/dialog-agent.d.ts +1 -1
- package/components/dialog-agent/dialog-agent.vue +21 -0
- package/components/divider/README.md +80 -0
- package/components/divider/divider.vue +8 -0
- package/components/dropdown/README.md +168 -0
- package/components/dropdown/common.d.ts +7 -0
- package/components/dropdown/common.js +1 -0
- package/components/dropdown/dropdown.d.ts +1 -1
- package/components/dropdown/dropdown.vue +16 -1
- package/components/dropdown/variables.scss +1 -1
- package/components/dropdown-item/dropdown-item.vue +51 -4
- package/components/empty/README.md +71 -0
- package/components/empty/empty.vue +8 -0
- package/components/empty/variables.scss +1 -1
- package/components/fab/README.md +111 -0
- package/components/fab/fab.vue +18 -0
- package/components/floating-bubble/README.md +70 -0
- package/components/floating-bubble/floating-bubble.vue +11 -0
- package/components/floating-panel/README.md +78 -0
- package/components/floating-panel/floating-panel.vue +11 -0
- package/components/form/README.md +308 -0
- package/components/form/form.vue +19 -0
- package/components/form-item/form-item.vue +17 -0
- package/components/grid/README.md +140 -0
- package/components/grid/grid.vue +11 -0
- package/components/grid-item/grid-item.vue +15 -0
- package/components/icon/README.md +118 -0
- package/components/icon/common.d.ts +2 -0
- package/components/icon/icon.d.ts +1 -0
- package/components/icon/icon.vue +18 -3
- package/components/indexes/README.md +83 -0
- package/components/indexes/indexes.vue +7 -0
- package/components/indexes-anchor/indexes-anchor.vue +5 -0
- package/components/input/README.md +170 -0
- package/components/input/common.d.ts +1 -0
- package/components/input/index.scss +0 -20
- package/components/input/input.vue +71 -17
- package/components/input/variables.scss +2 -2
- package/components/keyboard/README.md +82 -0
- package/components/keyboard/keyboard.vue +7 -0
- package/components/layout/README.md +89 -0
- package/components/list/README.md +118 -0
- package/components/list/list.vue +8 -0
- package/components/list-item/list-item.vue +15 -0
- package/components/load-more/README.md +75 -0
- package/components/load-more/load-more.vue +11 -0
- package/components/loading/README.md +89 -0
- package/components/loading/loading.vue +13 -0
- package/components/lucky-draw/README.md +174 -0
- package/components/marquee/README.md +65 -0
- package/components/marquee/marquee.vue +7 -0
- package/components/menu/_README.md +61 -0
- package/components/navbar/README.md +123 -0
- package/components/navbar/navbar.vue +11 -0
- package/components/navbar-item/navbar-item.vue +10 -0
- package/components/notice-bar/README.md +135 -0
- package/components/notice-bar/notice-bar.vue +17 -0
- package/components/notify/README.md +118 -0
- package/components/notify/notify.vue +11 -0
- package/components/notify-agent/notify-agent.vue +12 -0
- package/components/overlay/README.md +56 -0
- package/components/overlay/overlay.vue +10 -0
- package/components/pagination/README.md +80 -0
- package/components/pagination/pagination.vue +15 -0
- package/components/password-input/README.md +87 -0
- package/components/password-input/password-input.vue +17 -0
- package/components/picker/README.md +115 -0
- package/components/picker/common.d.ts +1 -1
- package/components/picker/common.js +18 -6
- package/components/picker/picker.vue +40 -15
- package/components/picker-input/README.md +51 -0
- package/components/picker-input/common.d.ts +2 -0
- package/components/picker-input/common.js +2 -0
- package/components/picker-input/picker-input.d.ts +2 -1
- package/components/picker-input/picker-input.vue +24 -2
- package/components/picker-popout/README.md +51 -0
- package/components/picker-popout/picker-popout.d.ts +1 -1
- package/components/picker-popout/picker-popout.vue +24 -4
- package/components/popout/README.md +111 -0
- package/components/popout/common.d.ts +1 -0
- package/components/popout/popout.d.ts +1 -1
- package/components/popout/popout.vue +30 -0
- package/components/popout-input/README.md +55 -0
- package/components/popout-input/popout-input.vue +16 -0
- package/components/popout-input/variables.scss +1 -1
- package/components/popover/README.md +191 -0
- package/components/popover/popover.vue +15 -0
- package/components/popover-reference/popover-reference.vue +5 -0
- package/components/popup/README.md +67 -0
- package/components/popup/popup.vue +20 -0
- package/components/progress-bar/README.md +90 -0
- package/components/progress-bar/progress-bar.vue +13 -0
- package/components/progress-circle/README.md +75 -0
- package/components/progress-circle/progress-circle.vue +10 -0
- package/components/pull-down-refresh/README.md +100 -0
- package/components/pull-down-refresh/pull-down-refresh.d.ts +1 -1
- package/components/pull-down-refresh/pull-down-refresh.vue +11 -0
- package/components/qrcode/README.md +103 -0
- package/components/qrcode/common.d.ts +2 -0
- package/components/qrcode/qrcode.vue +71 -61
- package/components/radio/README.md +172 -0
- package/components/radio/radio.vue +13 -0
- package/components/radio/variables.scss +1 -1
- package/components/radio-group/radio-group.vue +16 -0
- package/components/radio-input/README.md +44 -0
- package/components/radio-input/common.d.ts +3 -1
- package/components/radio-input/common.js +5 -1
- package/components/radio-input/radio-input.d.ts +1 -0
- package/components/radio-input/radio-input.vue +26 -2
- package/components/radio-popout/README.md +52 -0
- package/components/radio-popout/common.d.ts +1 -1
- package/components/radio-popout/radio-popout.vue +20 -0
- package/components/rate/README.md +106 -0
- package/components/rate/rate.d.ts +1 -1
- package/components/rate/rate.vue +22 -0
- package/components/rate/variables.scss +1 -1
- package/components/result/README.md +66 -0
- package/components/result/result.vue +10 -0
- package/components/row/row.vue +7 -0
- package/components/scroll-spy/README.md +70 -0
- package/components/scroll-spy/scroll-spy.vue +13 -0
- package/components/search/README.md +117 -0
- package/components/search/search.vue +25 -0
- package/components/search/variables.scss +1 -1
- package/components/share-sheet/README.md +94 -0
- package/components/share-sheet/share-sheet.vue +20 -0
- package/components/share-sheet/variables.scss +1 -1
- package/components/sidebar/README.md +118 -0
- package/components/sidebar/sidebar.vue +10 -0
- package/components/sidebar-item/sidebar-item.vue +8 -0
- package/components/signature/README.md +99 -0
- package/components/signature/signature.vue +20 -0
- package/components/skeleton/README.md +128 -0
- package/components/skeleton/skeleton.vue +12 -0
- package/components/skeleton-avatar/skeleton-avatar.vue +9 -0
- package/components/skeleton-block/skeleton-block.vue +8 -0
- package/components/skeleton-paragraph/skeleton-paragraph.vue +9 -0
- package/components/skeleton-title/skeleton-title.vue +8 -0
- package/components/slider/README.md +140 -0
- package/components/slider/slider.vue +29 -0
- package/components/space/README.md +82 -0
- package/components/space/space.vue +9 -0
- package/components/status-bar/README.md +72 -0
- package/components/status-bar/status-bar.vue +6 -0
- package/components/step/step.vue +9 -1
- package/components/stepper/README.md +94 -0
- package/components/stepper/stepper.vue +24 -0
- package/components/stepper/variables.scss +1 -1
- package/components/steps/README.md +142 -0
- package/components/steps/steps.vue +15 -0
- package/components/style/README.md +20 -0
- package/components/style/variables-dark.scss +10 -6
- package/components/style/variables.scss +17 -11
- package/components/swipe-action/README.md +82 -0
- package/components/swipe-action/swipe-action.vue +7 -0
- package/components/swiper-dot/README.md +45 -0
- package/components/swiper-dot/swiper-dot.vue +9 -0
- package/components/switch/README.md +89 -0
- package/components/switch/switch.vue +18 -0
- package/components/tab/tab.vue +8 -0
- package/components/tabbar/README.md +111 -0
- package/components/tabbar/tabbar.vue +12 -0
- package/components/tabbar-item/tabbar-item.vue +12 -0
- package/components/tabbar-pit/README.md +41 -0
- package/components/tabbar-pit/tabbar-pit.vue +5 -0
- package/components/table/README.md +162 -0
- package/components/table/table.vue +7 -0
- package/components/table-cell/table-cell.vue +7 -0
- package/components/table-row/table-row.vue +5 -0
- package/components/tabs/README.md +113 -0
- package/components/tabs/tabs.vue +10 -0
- package/components/tag/README.md +96 -0
- package/components/tag/common.d.ts +1 -1
- package/components/tag/index.scss +5 -1
- package/components/tag/tag.vue +16 -2
- package/components/timeline/README.md +66 -0
- package/components/timeline/timeline.vue +4 -0
- package/components/timeline/variables.scss +1 -1
- package/components/timeline-item/timeline-item.vue +9 -0
- package/components/toast/README.md +111 -0
- package/components/toast/toast.vue +11 -0
- package/components/toast-agent/toast-agent.vue +11 -0
- package/components/tree/README.md +208 -0
- package/components/tree/tree.vue +21 -0
- package/components/tree/variables.scss +3 -3
- package/components/upload/README.md +154 -0
- package/components/upload/common.d.ts +1 -0
- package/components/upload/upload.d.ts +1 -1
- package/components/upload/upload.vue +67 -26
- package/package.json +74 -45
- package/use/useFormPopout.d.ts +1 -1
- package/use/useFormPopout.js +4 -1
- package/use/usePopoutInput.d.ts +2 -1
- package/use/usePopoutInput.js +7 -4
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: Tree
|
|
4
|
+
subtitle: 树形
|
|
5
|
+
group: 数据展示
|
|
6
|
+
version: 1.6+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 介绍
|
|
10
|
+
|
|
11
|
+
用于显示层次结构数据,可展开或折叠。
|
|
12
|
+
|
|
13
|
+
## 引入
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import Tree from 'sard-uniapp/components/tree/tree.vue'
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 代码演示
|
|
20
|
+
|
|
21
|
+
### 基础使用
|
|
22
|
+
|
|
23
|
+
通过 `data` 属性设置数据,通过 `node-keys` 属性告知如何从传入的数据中获取每个节点的数据。
|
|
24
|
+
|
|
25
|
+
@code('${DEMO_PATH}/tree/demo/Basic.vue')
|
|
26
|
+
|
|
27
|
+
### 手风琴
|
|
28
|
+
|
|
29
|
+
对于同一级的节点,每次只能展开一个。
|
|
30
|
+
|
|
31
|
+
@code('${DEMO_PATH}/tree/demo/Accordion.vue')
|
|
32
|
+
|
|
33
|
+
### 可选择的
|
|
34
|
+
|
|
35
|
+
设置 `selectable` 属性可以显示复选框让用户选择节点,还可以禁用节点的选择。
|
|
36
|
+
|
|
37
|
+
节点的 `key` 属性是非常重要的(可以自定义 `key` 的键名),必须保证节点的 `key` 在所有节点中的唯一性。
|
|
38
|
+
如果没有设置 `key`,则由程序生成一个全局唯一的标识作为 `key`。
|
|
39
|
+
|
|
40
|
+
@code('${DEMO_PATH}/tree/demo/Selectable.vue')
|
|
41
|
+
|
|
42
|
+
### 严格选择
|
|
43
|
+
|
|
44
|
+
在显示复选框的情况下,设置 `check-strictly` 属性来严格遵循父子不互相关联规则。
|
|
45
|
+
|
|
46
|
+
@code('${DEMO_PATH}/tree/demo/CheckStrictly.vue')
|
|
47
|
+
|
|
48
|
+
### 默认展开以及默认选中
|
|
49
|
+
|
|
50
|
+
树节点可以在初始化阶段被设置为展开和选中。
|
|
51
|
+
|
|
52
|
+
@code('${DEMO_PATH}/tree/demo/DefaultExpandedAndChecked.vue')
|
|
53
|
+
|
|
54
|
+
### 单一选择
|
|
55
|
+
|
|
56
|
+
设置 `single-selectable` 属性即可实现单选,选择后会触发 `select` 事件,可使用 `current` 属性设置当前选择的节点。
|
|
57
|
+
|
|
58
|
+
@code('${DEMO_PATH}/tree/demo/Single.vue')
|
|
59
|
+
|
|
60
|
+
### 仅选择叶子节点
|
|
61
|
+
|
|
62
|
+
设置 `leaf-only` 属性让其仅能选择叶子节点。
|
|
63
|
+
|
|
64
|
+
此时,点击节点任意位置都能选择节点,而不仅仅是单选按钮,因为折叠和选择操作不冲突。
|
|
65
|
+
|
|
66
|
+
@code('${DEMO_PATH}/tree/demo/LeafOnly.vue')
|
|
67
|
+
|
|
68
|
+
### 可拖拽的
|
|
69
|
+
|
|
70
|
+
设置 `draggable` 属性使节点可拖拽,短按拖拽按钮便可进入拖拽状态;
|
|
71
|
+
单击拖拽按钮,还可以设置节点的层级。
|
|
72
|
+
|
|
73
|
+
@code('${DEMO_PATH}/tree/demo/Draggable.vue')
|
|
74
|
+
|
|
75
|
+
### 可编辑的
|
|
76
|
+
|
|
77
|
+
设置 `editable` 属性使节点可编辑(增删改),配合 `draggable` 属性便可以随意编辑树形数据。
|
|
78
|
+
|
|
79
|
+
@code('${DEMO_PATH}/tree/demo/Editable.vue')
|
|
80
|
+
|
|
81
|
+
### 树节点过滤
|
|
82
|
+
|
|
83
|
+
树节点是可以被过滤的。
|
|
84
|
+
|
|
85
|
+
调用 `filter` 方法来过滤树节点。方法的参数就是过滤关键字。
|
|
86
|
+
通过设置 `filter-method` 属性还可以实现自定义的过滤。
|
|
87
|
+
|
|
88
|
+
@code('${DEMO_PATH}/tree/demo/Filter.vue')
|
|
89
|
+
|
|
90
|
+
### 严格的树节点过滤
|
|
91
|
+
|
|
92
|
+
默认的过滤是宽松的,即匹配到一个节点后便停止后代节点的匹配,其后代节点都会被显示出来。
|
|
93
|
+
|
|
94
|
+
设置 `filter-mode="strict"` 进入严格模式,即所有节点都要进行匹配,只有匹配成功的节点才会显示出来。
|
|
95
|
+
|
|
96
|
+
@code('${DEMO_PATH}/tree/demo/StrictFilter.vue')
|
|
97
|
+
|
|
98
|
+
## API
|
|
99
|
+
|
|
100
|
+
### TreeProps
|
|
101
|
+
|
|
102
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
103
|
+
| ---------------------------------- | ------------------------------------------ | ----------------------------------------------- | --------------- |
|
|
104
|
+
| root-class | 组件根元素类名 | string | - |
|
|
105
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
106
|
+
| data | 树形数据 | TreeNode[] | - |
|
|
107
|
+
| node-keys | 节点对象的键名 | TreeNodeKeys | defaultNodeKeys |
|
|
108
|
+
| default-expand-all | 是否默认展开所有节点 | boolean | false |
|
|
109
|
+
| default-expanded-keys | 默认展开的节点的 key | (string \| number)[] | - |
|
|
110
|
+
| accordion | 是否每次只展示一个同级树节点 | boolean | false |
|
|
111
|
+
| selectable | 节点是否可被选择(复选) | boolean | false |
|
|
112
|
+
| check-strictly | 可选时是否严格遵循父子不关联的做法(复选) | boolean | false |
|
|
113
|
+
| default-checked-keys | 默认勾选的节点的 key 的数组(复选) | (string \| number)[] | - |
|
|
114
|
+
| single-selectable <sup>1.17+</sup> | 节点是否可被选择(单选) | boolean | false |
|
|
115
|
+
| leaf-only <sup>1.17+</sup> | 是否只能选择叶子节点(单选) | boolean | false |
|
|
116
|
+
| current (v-model) <sup>1.17+</sup> | 当前选择的节点的 key(单选) | string \| number | - |
|
|
117
|
+
| draggable | 是否可以拖拽节点 | boolean | false |
|
|
118
|
+
| editable | 是否可编辑节点(增删改) | boolean | false |
|
|
119
|
+
| filter-mode | 节点过滤模式 | 'lenient' \| 'strict' | 'lenient' |
|
|
120
|
+
| filter-method | 自定义过滤方法 | (value: string, node: TreeStateNode) => boolean | - |
|
|
121
|
+
|
|
122
|
+
### TreeEmits
|
|
123
|
+
|
|
124
|
+
| 事件 | 描述 | 类型 |
|
|
125
|
+
| ------------------------------- | ---------------------- | ---------------------------------------------------- |
|
|
126
|
+
| update:current <sup>1.17+</sup> | 选择节点后触发(单选) | (key: string \| number, node: TreeStateNode) => void |
|
|
127
|
+
| select <sup>1.17+</sup> | 选择节点后触发(单选) | (key: string \| number, node: TreeStateNode) => void |
|
|
128
|
+
|
|
129
|
+
### TreeExpose
|
|
130
|
+
|
|
131
|
+
| 属性 | 描述 | 类型 |
|
|
132
|
+
| ------------------ | ---------------------- | -------------------------------------------------- |
|
|
133
|
+
| getCheckedKeys | 获取所有选中节点的 key | () => (string \| number)[] |
|
|
134
|
+
| getHalfCheckedKeys | 获取所有半选节点的 key | () => (string \| number)[] |
|
|
135
|
+
| setCheckedKeys | 设置指定节点为选中状态 | (keys: (string \| number)[]) => void |
|
|
136
|
+
| setChecked | 设置节点是否选中 | (key: string \| number, checked: boolean) => void |
|
|
137
|
+
| setExpandedKeys | 设置指定节点为展开状态 | (keys: (string \| number)[]) => void |
|
|
138
|
+
| setExpanded | 设置节点是否展开 | (key: string \| number, expanded: boolean) => void |
|
|
139
|
+
| toggleExpanded | 切换节点展开状态 | (key: string \| number) => void |
|
|
140
|
+
| addRootNode | 添加根节点 | () => void |
|
|
141
|
+
| getCleanTreeData | 获取干净的当前树形数据 | () => TreeCleanNode[] |
|
|
142
|
+
| filter | 过滤树节点 | (searchString: string) => void |
|
|
143
|
+
|
|
144
|
+
### TreeNode
|
|
145
|
+
|
|
146
|
+
```ts
|
|
147
|
+
interface TreeNode {
|
|
148
|
+
title?: string | number
|
|
149
|
+
key?: any
|
|
150
|
+
children?: TreeNode[]
|
|
151
|
+
disabled?: boolean
|
|
152
|
+
[prop: string]: any
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### TreeCleanNode
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
interface TreeCleanNode {
|
|
160
|
+
title: string | number
|
|
161
|
+
key: string | number
|
|
162
|
+
children?: TreeCleanNode[]
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### TreeStateNode
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
interface TreeStateNode {
|
|
170
|
+
title: string | number
|
|
171
|
+
key: string | number
|
|
172
|
+
expanded: boolean
|
|
173
|
+
checked: boolean
|
|
174
|
+
children?: TreeStateNode[]
|
|
175
|
+
parent: TreeStateNode | null
|
|
176
|
+
indeterminate: boolean
|
|
177
|
+
level: number
|
|
178
|
+
offsetLevel: number
|
|
179
|
+
visible: boolean
|
|
180
|
+
disabled: boolean
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### TreeNodeKeys
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
interface TreeNodeKeys {
|
|
188
|
+
title?: string
|
|
189
|
+
key?: string
|
|
190
|
+
children?: string
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### defaultNodeKeys
|
|
195
|
+
|
|
196
|
+
```ts
|
|
197
|
+
const defaultNodeKeys = {
|
|
198
|
+
title: 'title',
|
|
199
|
+
key: 'key',
|
|
200
|
+
children: 'children',
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## 主题定制
|
|
205
|
+
|
|
206
|
+
### CSS 变量
|
|
207
|
+
|
|
208
|
+
@code('./variables.scss#variables')
|
package/components/tree/tree.vue
CHANGED
|
@@ -55,6 +55,27 @@ import SarDialog from "../dialog/dialog.vue";
|
|
|
55
55
|
import SarToast from "../toast/toast.vue";
|
|
56
56
|
import { useTranslate } from "../locale";
|
|
57
57
|
import { recurAncestor, recurDescendant, recurNodes } from "./utils";
|
|
58
|
+
/**
|
|
59
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
60
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
61
|
+
* @property {TreeNode[]} data 树形数据,默认值:-。
|
|
62
|
+
* @property {TreeNodeKeys} nodeKeys 节点对象的键名,默认值:defaultNodeKeys。
|
|
63
|
+
* @property {boolean} defaultExpandAll 是否默认展开所有节点,默认值:false。
|
|
64
|
+
* @property {(string | number)[]} defaultExpandedKeys 默认展开的节点的 key,默认值:-。
|
|
65
|
+
* @property {boolean} accordion 是否每次只展示一个同级树节点,默认值:false。
|
|
66
|
+
* @property {boolean} selectable 节点是否可被选择(复选),默认值:false。
|
|
67
|
+
* @property {boolean} checkStrictly 可选时是否严格遵循父子不关联的做法(复选),默认值:false。
|
|
68
|
+
* @property {(string | number)[]} defaultCheckedKeys 默认勾选的节点的 key 的数组(复选),默认值:-。
|
|
69
|
+
* @property {boolean} singleSelectable 节点是否可被选择(单选),默认值:false。
|
|
70
|
+
* @property {boolean} leafOnly 是否只能选择叶子节点(单选),默认值:false。
|
|
71
|
+
* @property {string | number} current 当前选择的节点的 key(单选),默认值:-。
|
|
72
|
+
* @property {boolean} draggable 是否可以拖拽节点,默认值:false。
|
|
73
|
+
* @property {boolean} editable 是否可编辑节点(增删改),默认值:false。
|
|
74
|
+
* @property {'lenient' | 'strict'} filterMode 节点过滤模式,默认值:'lenient'。
|
|
75
|
+
* @property {(value: string, node: TreeStateNode) => boolean} filterMethod 自定义过滤方法,默认值:-。
|
|
76
|
+
* @event {(key: string | number, node: TreeStateNode) => void} update 选择节点后触发(单选)
|
|
77
|
+
* @event {(key: string | number, node: TreeStateNode) => void} select 选择节点后触发(单选)
|
|
78
|
+
*/
|
|
58
79
|
export default _defineComponent({
|
|
59
80
|
components: {
|
|
60
81
|
SarTreeNode,
|
|
@@ -27,17 +27,17 @@ page,
|
|
|
27
27
|
|
|
28
28
|
--sar-tree-edit-padding-x: 24rpx;
|
|
29
29
|
--sar-tree-edit-font-size: 36rpx;
|
|
30
|
-
--sar-tree-edit-color: var(--sar-
|
|
30
|
+
--sar-tree-edit-color: var(--sar-fourth-color);
|
|
31
31
|
--sar-tree-edit-active-opacity: var(--sar-active-opacity);
|
|
32
32
|
|
|
33
33
|
--sar-tree-level-btn-padding-x: 24rpx;
|
|
34
34
|
--sar-tree-level-btn-font-size: 36rpx;
|
|
35
|
-
--sar-tree-level-btn-color: var(--sar-
|
|
35
|
+
--sar-tree-level-btn-color: var(--sar-fourth-color);
|
|
36
36
|
--sar-tree-level-btn-active-opacity: var(--sar-active-opacity);
|
|
37
37
|
|
|
38
38
|
--sar-tree-drag-padding-x: 24rpx;
|
|
39
39
|
--sar-tree-drag-font-size: 36rpx;
|
|
40
|
-
--sar-tree-drag-color: var(--sar-
|
|
40
|
+
--sar-tree-drag-color: var(--sar-fourth-color);
|
|
41
41
|
--sar-tree-drag-active-opacity: var(--sar-active-opacity);
|
|
42
42
|
}
|
|
43
43
|
// #endvariables
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: Upload
|
|
4
|
+
subtitle: 上传
|
|
5
|
+
group: 表单组件
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 介绍
|
|
9
|
+
|
|
10
|
+
控制文件的上传及状态展示。
|
|
11
|
+
|
|
12
|
+
## 引入
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import Upload from 'sard-uniapp/components/upload/upload.vue'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 代码演示
|
|
19
|
+
|
|
20
|
+
### 基础使用
|
|
21
|
+
|
|
22
|
+
选择文件后通过 `afterRead` 将文件上传到服务器。期间通过 `UploadFileItem['status']` 和 `UploadFileItem['message']` 修改上传的状态。
|
|
23
|
+
|
|
24
|
+
@code('${DEMO_PATH}/upload/demo/Basic.vue')
|
|
25
|
+
|
|
26
|
+
### 上传视频
|
|
27
|
+
|
|
28
|
+
默认只能选择图片,可以设置 `accept="video"` 来选择上传视频。
|
|
29
|
+
|
|
30
|
+
@code('${DEMO_PATH}/upload/demo/Video.vue')
|
|
31
|
+
|
|
32
|
+
### 限定上传数量
|
|
33
|
+
|
|
34
|
+
通过 `maxCount` 属性可以限制上传文件的数量,上传数量达到限制后,会自动隐藏选择区域。
|
|
35
|
+
|
|
36
|
+
@code('${DEMO_PATH}/upload/demo/MaxCount.vue')
|
|
37
|
+
|
|
38
|
+
### 多选
|
|
39
|
+
|
|
40
|
+
默认一次只能选择一张图片,设置 `multiple` 允许图片多选。
|
|
41
|
+
|
|
42
|
+
@code('${DEMO_PATH}/upload/demo/Multiple.vue')
|
|
43
|
+
|
|
44
|
+
### 选择文件前置处理 <sup>1.19.2+</sup>
|
|
45
|
+
|
|
46
|
+
通过传入 `beforeChoose` 函数可以在选择之前做处理,接受当前文件列表和 `next` 函数作参数,调用 `next(true)` 允许选择,调用 `next(false)` 不允许选择。
|
|
47
|
+
|
|
48
|
+
@code('${DEMO_PATH}/upload/demo/BeforeChoose.vue')
|
|
49
|
+
|
|
50
|
+
### 上传前置处理
|
|
51
|
+
|
|
52
|
+
通过传入 `beforeRead` 函数可以在上传前进行校验和处理,返回 `true` 表示校验通过,返回 `false` 表示校验失败。支持返回 `Promise` 对 `file` 对象进行自定义处理。
|
|
53
|
+
|
|
54
|
+
@code('${DEMO_PATH}/upload/demo/BeforeRead.vue')
|
|
55
|
+
|
|
56
|
+
### 限定上传大小
|
|
57
|
+
|
|
58
|
+
通过 `maxSize` 属性可以限制上传文件的大小,超过大小的文件会被自动过滤,这些文件信息可以通过 `overSize` 事件获取。
|
|
59
|
+
|
|
60
|
+
@code('${DEMO_PATH}/upload/demo/Size.vue')
|
|
61
|
+
|
|
62
|
+
### 上传状态
|
|
63
|
+
|
|
64
|
+
通过 `status` 属性可以标识上传状态,`uploading` 表示上传中,`failed` 表示上传失败,`done` 表示上传完成。
|
|
65
|
+
|
|
66
|
+
@code('${DEMO_PATH}/upload/demo/Status.vue')
|
|
67
|
+
|
|
68
|
+
### 只读和禁用
|
|
69
|
+
|
|
70
|
+
只读会隐藏选择区域,禁用则不允许用户点击选择。
|
|
71
|
+
|
|
72
|
+
@code('${DEMO_PATH}/upload/demo/DisabledReadOnly.vue')
|
|
73
|
+
|
|
74
|
+
### 自定义选区样式
|
|
75
|
+
|
|
76
|
+
使用 `select` 插槽自定义选区内容。
|
|
77
|
+
|
|
78
|
+
@code('${DEMO_PATH}/upload/demo/CustomSelect.vue')
|
|
79
|
+
|
|
80
|
+
## API
|
|
81
|
+
|
|
82
|
+
### UploadProps
|
|
83
|
+
|
|
84
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
85
|
+
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------- |
|
|
86
|
+
| root-class | 组件根元素类名 | string | - |
|
|
87
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
88
|
+
| accept | 允许上传的文件类型 | 'image' \| 'video' | 'image' |
|
|
89
|
+
| multiple | 是否开启图片多选 | boolean | false |
|
|
90
|
+
| source-type | 文件选择来源 | ('album' \| 'camera')[] | ['album', 'camera'] |
|
|
91
|
+
| size-type | 所选的图片的尺寸 | ('original' \| 'compressed')[] | ['original', 'compressed'] |
|
|
92
|
+
| max-duration | 拍摄视频最长拍摄时间,单位秒 | number | 60 |
|
|
93
|
+
| camera | 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效 | 'back' \| 'front' | 'back' |
|
|
94
|
+
| model-value (v-model) | 已上传的文件列表 | UploadFileItem[] | - |
|
|
95
|
+
| max-count | 文件上传数量限制 | number | Number.MAX_SAFE_INTEGER |
|
|
96
|
+
| max-size | 文件大小限制,单位为 `byte` | number \| ((file: File) => boolean) | Number.MAX_SAFE_INTEGER |
|
|
97
|
+
| over-size | 文件大小超过限制时触发 | (fileItem: UploadFileItem \| UploadFileItem[]) => void | - |
|
|
98
|
+
| disabled | 是否禁用文件上传 | boolean | false |
|
|
99
|
+
| readonly | 是否将上传区域设置为只读状态 | boolean | false |
|
|
100
|
+
| before-choose <sup>1.19.2+</sup> | 文件选择前的回调,接受当前文件列表和 `next` 函数作参数,调用 `next(true)` 允许选择,调用 `next(false)` 不允许选择 | (fileList: UploadFileItem[], next: (allowed: boolean) => void) => void | - |
|
|
101
|
+
| before-read | 文件读取前的回调,返回 false 可终止文件读取,支持返回 Promise | (file: File) => boolean \| Promise\<File> | - |
|
|
102
|
+
| after-read | 文件读取完成后的回调 | (fileItem: UploadFileItem \| UploadFileItem[]) => void | - |
|
|
103
|
+
| removable | 是否可删除 | boolean | true |
|
|
104
|
+
| before-remove | 文件删除前的回调,返回 false 可终止文件读取,支持返回 Promise | (...args: any[]) => boolean \| Promise\<void> | - |
|
|
105
|
+
| validate-event | 是否触发表单验证 | boolean | true |
|
|
106
|
+
|
|
107
|
+
### UploadSlots
|
|
108
|
+
|
|
109
|
+
| 插槽 | 描述 | 属性 |
|
|
110
|
+
| ------ | -------------- | ---- |
|
|
111
|
+
| select | 自定义选取内容 | - |
|
|
112
|
+
|
|
113
|
+
### ButtonEmits
|
|
114
|
+
|
|
115
|
+
| 事件 | 描述 | 类型 |
|
|
116
|
+
| ------------------------ | ------------------------ | --------------------------------------------- |
|
|
117
|
+
| update:model-value | 选择的文件列表改变时触发 | (value: UploadFileItem[]) => void |
|
|
118
|
+
| change <sup>1.9.2+</sup> | 选择的文件列表改变时触发 | (value: UploadFileItem[]) => void |
|
|
119
|
+
| remove | 删除文件时触发 | (index: number, item: UploadFileItem) => void |
|
|
120
|
+
|
|
121
|
+
### UploadFileItem
|
|
122
|
+
|
|
123
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
124
|
+
| -------- | --------------------------------------------------------------------------------- | ------------ | --------- |
|
|
125
|
+
| file | 用户选择的文件 | UploadFile | - |
|
|
126
|
+
| name | 图片和视频之外的文件要展示的文件名,如果不指定且有 `file`,则获取 `file` 的文件名 | string | - |
|
|
127
|
+
| url | 图片的 `url` | string | - |
|
|
128
|
+
| is-image | 当无法从 `url` 中判断为图片时,可以显式指定为图片,以便可以对图片进行预览 | boolean | false |
|
|
129
|
+
| is-video | 当无法从 `url` 中判断为视频时,可以显式指定为视频,以便可以对视频进行预览 | boolean | false |
|
|
130
|
+
| status | 指定预览图片的状态 | UploadStatus | 'pending' |
|
|
131
|
+
| message | 展示预览图片在 `uploading`, `failed` 等状态下的说明文本 | string | - |
|
|
132
|
+
|
|
133
|
+
### UploadStatus
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
type UploadStatus = 'pending' | 'uploading' | 'failed' | 'done'
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### UploadFile
|
|
140
|
+
|
|
141
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
142
|
+
| -------- | ------------------ | ------------------ | ------ |
|
|
143
|
+
| type | 文件类型 | 'image' \| 'video' | - |
|
|
144
|
+
| size | 文件大小,单位字节 | number | - |
|
|
145
|
+
| path | 本地临时文件路径 | string | - |
|
|
146
|
+
| duration | 选定视频的时间长度 | number | 0 |
|
|
147
|
+
| width | 返回选定视频的宽度 | number | 0 |
|
|
148
|
+
| height | 返回选定视频的高度 | number | 0 |
|
|
149
|
+
|
|
150
|
+
## 主题定制
|
|
151
|
+
|
|
152
|
+
### CSS 变量
|
|
153
|
+
|
|
154
|
+
@code('./variables.scss#variables')
|
|
@@ -33,6 +33,7 @@ export interface UploadProps {
|
|
|
33
33
|
overSize?: (fileItem: UploadFileItem[]) => void;
|
|
34
34
|
disabled?: boolean;
|
|
35
35
|
readonly?: boolean;
|
|
36
|
+
beforeChoose?: (fileList: UploadFileItem[], next: (allowed: boolean) => void) => void;
|
|
36
37
|
beforeRead?: (file: UploadFile) => boolean | Promise<UploadFile>;
|
|
37
38
|
afterRead?: (fileItem: UploadFileItem) => void;
|
|
38
39
|
removable?: boolean;
|
|
@@ -10,11 +10,11 @@ declare const __VLS_component: import("vue").DefineComponent<UploadProps, {}, {}
|
|
|
10
10
|
onRemove?: ((index: number, item: UploadFileItem) => any) | undefined;
|
|
11
11
|
}>, {
|
|
12
12
|
accept: "image" | "video";
|
|
13
|
+
validateEvent: boolean;
|
|
13
14
|
maxDuration: number;
|
|
14
15
|
maxCount: number;
|
|
15
16
|
maxSize: number | ((file: UploadFile) => boolean);
|
|
16
17
|
removable: boolean;
|
|
17
|
-
validateEvent: boolean;
|
|
18
18
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
20
20
|
export default _default;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
@image-click="onImageClick"
|
|
21
21
|
/>
|
|
22
22
|
<view
|
|
23
|
-
v-if="innerValue.length < maxCount"
|
|
23
|
+
v-if="innerValue.length < maxCount && !isReadonly"
|
|
24
24
|
:class="bem.e('select')"
|
|
25
25
|
@click="onSelect"
|
|
26
26
|
>
|
|
@@ -54,6 +54,28 @@ import {
|
|
|
54
54
|
defaultUploadProps
|
|
55
55
|
} from "./common";
|
|
56
56
|
import { useFormContext, useFormItemContext } from "../form/common";
|
|
57
|
+
/**
|
|
58
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
59
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
60
|
+
* @property {'image' | 'video'} accept 允许上传的文件类型,默认值:'image'。
|
|
61
|
+
* @property {boolean} multiple 是否开启图片多选,默认值:false。
|
|
62
|
+
* @property {('album' | 'camera')[]} sourceType 文件选择来源,默认值:['album', 'camera']。
|
|
63
|
+
* @property {('original' | 'compressed')[]} sizeType 所选的图片的尺寸,默认值:['original', 'compressed']。
|
|
64
|
+
* @property {number} maxDuration 拍摄视频最长拍摄时间,单位秒,默认值:60。
|
|
65
|
+
* @property {'back' | 'front'} camera 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效,默认值:'back'。
|
|
66
|
+
* @property {UploadFileItem[]} modelValue 已上传的文件列表,默认值:-。
|
|
67
|
+
* @property {number} maxCount 文件上传数量限制,默认值:Number.MAX_SAFE_INTEGER。
|
|
68
|
+
* @property {number | ((file: File) => boolean)} maxSize 文件大小限制,单位为 `byte`,默认值:Number.MAX_SAFE_INTEGER。
|
|
69
|
+
* @property {(fileItem: UploadFileItem | UploadFileItem[]) => void} overSize 文件大小超过限制时触发,默认值:-。
|
|
70
|
+
* @property {boolean} disabled 是否禁用文件上传,默认值:false。
|
|
71
|
+
* @property {boolean} readonly 是否将上传区域设置为只读状态,默认值:false。
|
|
72
|
+
* @property {(fileList: UploadFileItem[], next: (allowed: boolean) => void) => void} beforeChoose 文件选择前的回调,接受当前文件列表和 `next` 函数作参数,调用 `next(true)` 允许选择,调用 `next(false)` 不允许选择,默认值:-。
|
|
73
|
+
* @property {(file: File) => boolean | Promise\<File>} beforeRead 文件读取前的回调,返回 false 可终止文件读取,支持返回 Promise,默认值:-。
|
|
74
|
+
* @property {(fileItem: UploadFileItem | UploadFileItem[]) => void} afterRead 文件读取完成后的回调,默认值:-。
|
|
75
|
+
* @property {boolean} removable 是否可删除,默认值:true。
|
|
76
|
+
* @property {(...args: any[]) => boolean | Promise\<void>} beforeRemove 文件删除前的回调,返回 false 可终止文件读取,支持返回 Promise,默认值:-。
|
|
77
|
+
* @property {boolean} validateEvent 是否触发表单验证,默认值:true。
|
|
78
|
+
*/
|
|
57
79
|
export default _defineComponent({
|
|
58
80
|
components: {
|
|
59
81
|
SarUploadPreview,
|
|
@@ -81,6 +103,7 @@ export default _defineComponent({
|
|
|
81
103
|
overSize: { type: Function, required: false },
|
|
82
104
|
disabled: { type: Boolean, required: false },
|
|
83
105
|
readonly: { type: Boolean, required: false },
|
|
106
|
+
beforeChoose: { type: Function, required: false },
|
|
84
107
|
beforeRead: { type: Function, required: false },
|
|
85
108
|
afterRead: { type: Function, required: false },
|
|
86
109
|
removable: { type: Boolean, required: false },
|
|
@@ -201,33 +224,47 @@ export default _defineComponent({
|
|
|
201
224
|
);
|
|
202
225
|
chain(files);
|
|
203
226
|
}
|
|
227
|
+
let isSelectPending = false;
|
|
204
228
|
const onSelect = () => {
|
|
205
|
-
if (isDisabled.value || isReadonly.value || innerValue.value.length >= props.maxCount) {
|
|
229
|
+
if (isSelectPending || isDisabled.value || isReadonly.value || innerValue.value.length >= props.maxCount) {
|
|
206
230
|
return;
|
|
207
231
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
232
|
+
const next = () => {
|
|
233
|
+
chooseMedia({
|
|
234
|
+
mediaType: props.accept,
|
|
235
|
+
count: props.multiple ? 9999 : 1,
|
|
236
|
+
sizeType: props.sizeType,
|
|
237
|
+
sourceType: props.sourceType,
|
|
238
|
+
maxDuration: props.maxDuration,
|
|
239
|
+
camera: props.camera,
|
|
240
|
+
success(result) {
|
|
241
|
+
toChain(
|
|
242
|
+
result.tempFiles.map((file) => {
|
|
243
|
+
return {
|
|
244
|
+
type: file.fileType,
|
|
245
|
+
size: file.size,
|
|
246
|
+
path: file.tempFilePath,
|
|
247
|
+
duration: file.duration,
|
|
248
|
+
width: file.width,
|
|
249
|
+
height: file.height
|
|
250
|
+
};
|
|
251
|
+
})
|
|
252
|
+
);
|
|
253
|
+
},
|
|
254
|
+
fail: noop
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
if (props.beforeChoose) {
|
|
258
|
+
isSelectPending = true;
|
|
259
|
+
props.beforeChoose?.(innerValue.value, (allowed) => {
|
|
260
|
+
isSelectPending = false;
|
|
261
|
+
if (allowed) {
|
|
262
|
+
next();
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
} else {
|
|
266
|
+
next();
|
|
267
|
+
}
|
|
231
268
|
};
|
|
232
269
|
const onRemove = (index, item) => {
|
|
233
270
|
const list = innerValue.value.filter((_, i) => i !== index);
|
|
@@ -259,7 +296,11 @@ export default _defineComponent({
|
|
|
259
296
|
const uploadStyle = computed(() => {
|
|
260
297
|
return stringifyStyle(props.rootStyle);
|
|
261
298
|
});
|
|
262
|
-
const __returned__ = { props, emit, bem, formContext, formItemContext, isDisabled, isReadonly, innerValue, limitCountNode, beforeReadNode, toUploadFileNode, limitSizeNode, afterReadNode, toChain,
|
|
299
|
+
const __returned__ = { props, emit, bem, formContext, formItemContext, isDisabled, isReadonly, innerValue, limitCountNode, beforeReadNode, toUploadFileNode, limitSizeNode, afterReadNode, toChain, get isSelectPending() {
|
|
300
|
+
return isSelectPending;
|
|
301
|
+
}, set isSelectPending(v) {
|
|
302
|
+
isSelectPending = v;
|
|
303
|
+
}, onSelect, onRemove, onImageClick, uploadClass, uploadStyle, SarUploadPreview, SarIcon };
|
|
263
304
|
return __returned__;
|
|
264
305
|
}
|
|
265
306
|
});
|