sard-uniapp 1.19.2 → 1.19.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.
- package/CHANGELOG.md +19 -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/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 +97 -0
- package/components/calendar/calendar.vue +29 -1
- package/components/calendar/common.d.ts +6 -0
- package/components/calendar-input/README.md +65 -0
- package/components/calendar-input/calendar-input.vue +40 -0
- package/components/calendar-month/calendar-month.vue +5 -2
- package/components/calendar-popout/README.md +100 -0
- package/components/calendar-popout/calendar-popout.vue +35 -1
- 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.vue +25 -0
- package/components/cascader-popout/README.md +53 -0
- package/components/cascader-popout/cascader-popout.vue +19 -0
- package/components/checkbox/README.md +185 -0
- package/components/checkbox/checkbox.vue +17 -0
- package/components/checkbox-group/checkbox-group.vue +15 -0
- package/components/checkbox-input/README.md +44 -0
- package/components/checkbox-input/checkbox-input.vue +22 -0
- 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 +2 -0
- package/components/config/index.js +1 -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/datetime-picker-input.vue +25 -0
- package/components/datetime-picker-popout/README.md +77 -0
- package/components/datetime-picker-popout/datetime-picker-popout.vue +19 -0
- 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/datetime-range-picker-input.vue +26 -0
- package/components/datetime-range-picker-popout/README.md +53 -0
- package/components/datetime-range-picker-popout/datetime-range-picker-popout.vue +20 -0
- package/components/dialog/README.md +192 -0
- package/components/dialog/dialog.vue +33 -0
- 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.vue +16 -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/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/input.vue +55 -0
- 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/picker.vue +10 -0
- package/components/picker-input/README.md +51 -0
- package/components/picker-input/picker-input.vue +21 -0
- package/components/picker-popout/README.md +51 -0
- package/components/picker-popout/picker-popout.vue +15 -0
- package/components/popout/README.md +111 -0
- package/components/popout/popout.vue +29 -0
- package/components/popout-input/README.md +55 -0
- package/components/popout-input/popout-input.vue +15 -0
- 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.vue +11 -0
- package/components/qrcode/README.md +103 -0
- package/components/qrcode/qrcode.vue +13 -0
- package/components/radio/README.md +172 -0
- package/components/radio/radio.vue +13 -0
- package/components/radio-group/radio-group.vue +16 -0
- package/components/radio-input/README.md +44 -0
- package/components/radio-input/radio-input.vue +23 -0
- package/components/radio-popout/README.md +52 -0
- package/components/radio-popout/radio-popout.vue +20 -0
- package/components/rate/README.md +106 -0
- package/components/rate/rate.vue +22 -0
- 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/share-sheet/README.md +94 -0
- package/components/share-sheet/share-sheet.vue +20 -0
- 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/steps/README.md +142 -0
- package/components/steps/steps.vue +15 -0
- package/components/style/README.md +20 -0
- 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/tag.vue +14 -0
- package/components/timeline/README.md +66 -0
- package/components/timeline/timeline.vue +4 -0
- 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/upload/README.md +154 -0
- package/components/upload/upload.vue +22 -0
- package/package.json +74 -45
package/components/tag/tag.vue
CHANGED
|
@@ -15,6 +15,20 @@ import SarIcon from "../icon/icon.vue";
|
|
|
15
15
|
import {
|
|
16
16
|
defaultTagProps
|
|
17
17
|
} from "./common";
|
|
18
|
+
/**
|
|
19
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
20
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
21
|
+
* @property {'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger'} theme 主题色,默认值:'primary'。
|
|
22
|
+
* @property {boolean} round 圆角按标签,默认值:false。
|
|
23
|
+
* @property {boolean} plain 镂空标签,默认值:false。
|
|
24
|
+
* @property {boolean | 'left' | 'right'} mark 标记标签,默认值:false。
|
|
25
|
+
* @property {'small' | 'medium' | 'large'} size 标签尺寸,默认值:'medium'。
|
|
26
|
+
* @property {string} color 标签颜色,默认值:-。
|
|
27
|
+
* @property {string} textColor 文本颜色,默认值:-。
|
|
28
|
+
* @property {boolean} closable 是否可关闭,默认值:false。
|
|
29
|
+
* @event {(event: any) => void} click 点击标签时触发
|
|
30
|
+
* @event {(event: any) => void} close 点击关闭按钮时触发
|
|
31
|
+
*/
|
|
18
32
|
export default _defineComponent({
|
|
19
33
|
components: {
|
|
20
34
|
SarIcon,
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: Timeline
|
|
4
|
+
subtitle: 时间轴
|
|
5
|
+
group: 数据展示
|
|
6
|
+
version: 1.6+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 介绍
|
|
10
|
+
|
|
11
|
+
垂直展示的时间流信息。
|
|
12
|
+
|
|
13
|
+
## 引入
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import Timeline from 'sard-uniapp/components/timeline/timeline.vue'
|
|
17
|
+
import TimelineItem from 'sard-uniapp/components/timeline-item/timeline-item.vue'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 代码演示
|
|
21
|
+
|
|
22
|
+
### 基础使用
|
|
23
|
+
|
|
24
|
+
@code('${DEMO_PATH}/timeline/demo/Basic.vue')
|
|
25
|
+
|
|
26
|
+
## API
|
|
27
|
+
|
|
28
|
+
### TimelineProps
|
|
29
|
+
|
|
30
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
31
|
+
| ---------- | -------------- | ---------- | ------ |
|
|
32
|
+
| root-class | 组件根元素类名 | string | - |
|
|
33
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
34
|
+
|
|
35
|
+
### TimelineSlots
|
|
36
|
+
|
|
37
|
+
| 插槽 | 描述 | 属性 |
|
|
38
|
+
| ------- | -------------- | ---- |
|
|
39
|
+
| default | 自定义默认内容 | - |
|
|
40
|
+
|
|
41
|
+
### TimelineItemProps
|
|
42
|
+
|
|
43
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
44
|
+
| ----------- | -------------- | ---------- | ------ |
|
|
45
|
+
| root-class | 组件根元素类名 | string | - |
|
|
46
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
47
|
+
| title | 标题内容 | string | - |
|
|
48
|
+
| time | 时间内容 | string | - |
|
|
49
|
+
| icon | 自定义图标 | string | - |
|
|
50
|
+
| icon-family | 图标字体 | string | - |
|
|
51
|
+
| icon-color | 图标颜色 | string | - |
|
|
52
|
+
|
|
53
|
+
### TimelineItemSlots
|
|
54
|
+
|
|
55
|
+
| 插槽 | 描述 | 属性 |
|
|
56
|
+
| ------- | ----------------------------------- | ---- |
|
|
57
|
+
| default | 自定义默认内容 | - |
|
|
58
|
+
| icon | 自定义图标内容,会覆盖 `icon` 属性 | - |
|
|
59
|
+
| title | 自定义标题内容,会覆盖 `title` 属性 | - |
|
|
60
|
+
| time | 自定义时间内容,会覆盖 `time` 属性 | - |
|
|
61
|
+
|
|
62
|
+
## 主题定制
|
|
63
|
+
|
|
64
|
+
### CSS 变量
|
|
65
|
+
|
|
66
|
+
@code('./variables.scss#variables')
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
import { defineComponent as _defineComponent } from "vue";
|
|
9
9
|
import { computed } from "vue";
|
|
10
10
|
import { classNames, stringifyStyle, createBem } from "../../utils";
|
|
11
|
+
/**
|
|
12
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
13
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
14
|
+
*/
|
|
11
15
|
export default _defineComponent({
|
|
12
16
|
...{
|
|
13
17
|
options: {
|
|
@@ -31,6 +31,15 @@ import { defineComponent as _defineComponent } from "vue";
|
|
|
31
31
|
import { computed } from "vue";
|
|
32
32
|
import { classNames, stringifyStyle, createBem } from "../../utils";
|
|
33
33
|
import SarIcon from "../icon/icon.vue";
|
|
34
|
+
/**
|
|
35
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
36
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
37
|
+
* @property {string} title 标题内容,默认值:-。
|
|
38
|
+
* @property {string} time 时间内容,默认值:-。
|
|
39
|
+
* @property {string} icon 自定义图标,默认值:-。
|
|
40
|
+
* @property {string} iconFamily 图标字体,默认值:-。
|
|
41
|
+
* @property {string} iconColor 图标颜色,默认值:-。
|
|
42
|
+
*/
|
|
34
43
|
export default _defineComponent({
|
|
35
44
|
components: {
|
|
36
45
|
SarIcon,
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: Toast
|
|
4
|
+
subtitle: 轻提示
|
|
5
|
+
group: 反馈组件
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 介绍
|
|
9
|
+
|
|
10
|
+
在页面中间弹出黑色半透明提示,表示提示、结果、加载中状态。
|
|
11
|
+
|
|
12
|
+
## 引入
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import Toast from 'sard-uniapp/components/toast/toast.vue'
|
|
16
|
+
import ToastAgent from 'sard-uniapp/components/toast-agent/toast-agent.vue'
|
|
17
|
+
import { toast } from 'sard-uniapp'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 代码演示
|
|
21
|
+
|
|
22
|
+
### 基础使用
|
|
23
|
+
|
|
24
|
+
先在页面放置代理组件。
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
<sar-toast-agent />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
接着便可以使用 `toast` 等方法显示提示。
|
|
31
|
+
|
|
32
|
+
@code('${DEMO_PATH}/toast/demo/Basic.vue')
|
|
33
|
+
|
|
34
|
+
### 自定义位置
|
|
35
|
+
|
|
36
|
+
`Toast` 默认渲染在屏幕正中位置,通过 `position` 属性可以控制提示展示的位置。
|
|
37
|
+
|
|
38
|
+
@code('${DEMO_PATH}/toast/demo/Placement.vue')
|
|
39
|
+
|
|
40
|
+
### 加载中的背景
|
|
41
|
+
|
|
42
|
+
默认显示加载类型的提示不会显示遮罩背景,设置 `overlay: true` 会显示黑色遮罩, 设置 `transparent: true` 会让背景变透明。
|
|
43
|
+
|
|
44
|
+
@code('${DEMO_PATH}/toast/demo/Mask.vue')
|
|
45
|
+
|
|
46
|
+
## API
|
|
47
|
+
|
|
48
|
+
### ToastProps
|
|
49
|
+
|
|
50
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
51
|
+
| ----------- | ------------------------ | ------------------------------------------ | -------- |
|
|
52
|
+
| type | 提示框类型 | 'text' \| 'loading' \| 'success' \| 'fail' | 'text' |
|
|
53
|
+
| title | 标题 | string \| number | - |
|
|
54
|
+
| visible | 是否可见 | boolean | - |
|
|
55
|
+
| position | 提示框垂直方向放置的位置 | 'top' \| 'center' \| 'bottom' | 'center' |
|
|
56
|
+
| overlay | 是否显示背景遮罩 | boolean | false |
|
|
57
|
+
| transparent | 使背景透明 | boolean | false |
|
|
58
|
+
| timeout | 提示的延迟时间,单位 ms | number | 1500 |
|
|
59
|
+
| duration | 显隐动画时长,单位 ms | number | 300 |
|
|
60
|
+
|
|
61
|
+
### ToastEmits
|
|
62
|
+
|
|
63
|
+
| 事件 | 描述 | 类型 |
|
|
64
|
+
| -------------- | ---------------- | -------------------------- |
|
|
65
|
+
| update:visible | 对话框显隐时触发 | (visible: boolean) => void |
|
|
66
|
+
|
|
67
|
+
### ToastAgentProps / ToastOptions
|
|
68
|
+
|
|
69
|
+
继承 [`ToastProps`](#ToastProps) 并有以下额外属性。
|
|
70
|
+
|
|
71
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
72
|
+
| ---- | ------------- | ------ | ------- |
|
|
73
|
+
| id | 提示组件的 id | string | 'toast' |
|
|
74
|
+
|
|
75
|
+
### 命令式方法
|
|
76
|
+
|
|
77
|
+
| 名称 | 描述 | 类型 |
|
|
78
|
+
| ------- | -------------------------- | ----------------------- |
|
|
79
|
+
| toast | 显示提示 | ToastFunction |
|
|
80
|
+
| success | 显示成功类型提示 | ToastSimpleShowFunction |
|
|
81
|
+
| fail | 显示失败类型提示 | ToastSimpleShowFunction |
|
|
82
|
+
| loading | 显示加载类型提示 | ToastSimpleShowFunction |
|
|
83
|
+
| hide | 隐藏指定 `id` 的命令式提示 | (id = 'toast') => void |
|
|
84
|
+
| hideAll | 隐藏所有命令式提示 | () => void |
|
|
85
|
+
|
|
86
|
+
### ToastFunction
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
type ToastFunction = ToastSimpleShowFunction & {
|
|
90
|
+
success: ToastSimpleShowFunction
|
|
91
|
+
fail: ToastSimpleShowFunction
|
|
92
|
+
loading: ToastSimpleShowFunction
|
|
93
|
+
hide: (id?: string) => void
|
|
94
|
+
hideAll: () => void
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### ToastSimpleShowFunction
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
interface ToastSimpleShowFunction {
|
|
102
|
+
(options: ToastOptions): void
|
|
103
|
+
(title?: string | number, options?: ToastOptions): void
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## 主题定制
|
|
108
|
+
|
|
109
|
+
### CSS 变量
|
|
110
|
+
|
|
111
|
+
@code('./variables.scss#variables')
|
|
@@ -35,6 +35,17 @@ const __default__ = {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
export const mapIdToast = {};
|
|
38
|
+
/**
|
|
39
|
+
* @property {'text' | 'loading' | 'success' | 'fail'} type 提示框类型,默认值:'text'。
|
|
40
|
+
* @property {string | number} title 标题,默认值:-。
|
|
41
|
+
* @property {boolean} visible 是否可见,默认值:-。
|
|
42
|
+
* @property {'top' | 'center' | 'bottom'} position 提示框垂直方向放置的位置,默认值:'center'。
|
|
43
|
+
* @property {boolean} overlay 是否显示背景遮罩,默认值:false。
|
|
44
|
+
* @property {boolean} transparent 使背景透明,默认值:false。
|
|
45
|
+
* @property {number} timeout 提示的延迟时间,单位 ms,默认值:1500。
|
|
46
|
+
* @property {number} duration 显隐动画时长,单位 ms,默认值:300。
|
|
47
|
+
* @event {(visible: boolean) => void} update 对话框显隐时触发
|
|
48
|
+
*/
|
|
38
49
|
export default _defineComponent({
|
|
39
50
|
components: {
|
|
40
51
|
SarPopup,
|
|
@@ -23,6 +23,17 @@ import {
|
|
|
23
23
|
defaultToastAgentProps
|
|
24
24
|
} from "./common";
|
|
25
25
|
import { useImperative } from "../../use/useImperative";
|
|
26
|
+
/**
|
|
27
|
+
* @property {'text' | 'loading' | 'success' | 'fail'} type 提示框类型,默认值:'text'。
|
|
28
|
+
* @property {string | number} title 标题,默认值:-。
|
|
29
|
+
* @property {boolean} visible 是否可见,默认值:-。
|
|
30
|
+
* @property {'top' | 'center' | 'bottom'} position 提示框垂直方向放置的位置,默认值:'center'。
|
|
31
|
+
* @property {boolean} overlay 是否显示背景遮罩,默认值:false。
|
|
32
|
+
* @property {boolean} transparent 使背景透明,默认值:false。
|
|
33
|
+
* @property {number} timeout 提示的延迟时间,单位 ms,默认值:1500。
|
|
34
|
+
* @property {number} duration 显隐动画时长,单位 ms,默认值:300。
|
|
35
|
+
* @property {string} id 提示组件的 id,默认值:'toast'。
|
|
36
|
+
*/
|
|
26
37
|
export default _defineComponent({
|
|
27
38
|
components: {
|
|
28
39
|
SarToast,
|
|
@@ -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,
|
|
@@ -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')
|