sard-uniapp 1.19.2 → 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 +10 -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 +94 -0
- package/components/calendar/calendar.vue +19 -0
- package/components/calendar-input/README.md +65 -0
- package/components/calendar-input/calendar-input.vue +31 -0
- package/components/calendar-popout/README.md +100 -0
- package/components/calendar-popout/calendar-popout.vue +25 -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.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
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: Picker
|
|
4
|
+
subtitle: 选择器
|
|
5
|
+
group: 表单组件
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 介绍
|
|
9
|
+
|
|
10
|
+
一个或多个可滚动列表选择器。
|
|
11
|
+
|
|
12
|
+
## 引入
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import Picker from 'sard-uniapp/components/picker/picker.vue'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 代码演示
|
|
19
|
+
|
|
20
|
+
### 基础使用
|
|
21
|
+
|
|
22
|
+
通过 `v-model` 绑定当前值,通过 `columns` 配置选项数据。
|
|
23
|
+
|
|
24
|
+
@code('${DEMO_PATH}/picker/demo/Basic.vue')
|
|
25
|
+
|
|
26
|
+
### 对象类型
|
|
27
|
+
|
|
28
|
+
列的每一项可以为一个对象,使用 `optionKeys` 属性可以指定对象中哪个属性值为选中的值,哪个属性值为要显示的标签。
|
|
29
|
+
|
|
30
|
+
@code('${DEMO_PATH}/picker/demo/ObjectOption.vue')
|
|
31
|
+
|
|
32
|
+
### 多列
|
|
33
|
+
|
|
34
|
+
当 `columns` 属性值为一个二维数组时会显示为多列。
|
|
35
|
+
|
|
36
|
+
@code('${DEMO_PATH}/picker/demo/Multiple.vue')
|
|
37
|
+
|
|
38
|
+
### 对象类型多列
|
|
39
|
+
|
|
40
|
+
`columns` 属性值为对象类型的二维数组。
|
|
41
|
+
|
|
42
|
+
@code('${DEMO_PATH}/picker/demo/ObjectMultiple.vue')
|
|
43
|
+
|
|
44
|
+
### 级联选择
|
|
45
|
+
|
|
46
|
+
当 `columns` 第一个元素为对象且其 `children` 属性值为数组时会被当作级联选择。
|
|
47
|
+
|
|
48
|
+
@code('${DEMO_PATH}/picker/demo/Cascaded.vue')
|
|
49
|
+
|
|
50
|
+
### 插槽
|
|
51
|
+
|
|
52
|
+
可通过 `custom` 插槽自定义每一个选项的内容。
|
|
53
|
+
|
|
54
|
+
@info
|
|
55
|
+
|
|
56
|
+
因小程序不支持循环中的插槽,因此循环逻辑要自行实现;
|
|
57
|
+
|
|
58
|
+
因 `picker-view-column` 要为 `picker-view` 的直接子元素,因此要把 `picker-view` 提取出来,要自行绑定属性和事件。
|
|
59
|
+
|
|
60
|
+
@endinfo
|
|
61
|
+
|
|
62
|
+
@code('${DEMO_PATH}/picker/demo/Slot.vue')
|
|
63
|
+
|
|
64
|
+
## API
|
|
65
|
+
|
|
66
|
+
### PickerProps
|
|
67
|
+
|
|
68
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
69
|
+
| ---------------- | -------------------------------------------------- | ---------------------------------- | ------------------------------------------------------ |
|
|
70
|
+
| root-class | 组件根元素类名 | string | - |
|
|
71
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
72
|
+
| columns | 配置每一列的数据 | PickerOption[] \| PickerOption[][] | [] |
|
|
73
|
+
| option-keys | 自定义 `columns` 结构中的字段 | PickerOptionKeys | {label: 'label', value: 'value', children: 'children'} |
|
|
74
|
+
| model-value | 选中项的值 | any | - |
|
|
75
|
+
| immediate-change | 是否在手指松开时立即触发 `update:model-value` 事件 | boolean | false |
|
|
76
|
+
|
|
77
|
+
### PickerSlots
|
|
78
|
+
|
|
79
|
+
| 插槽 | 描述 | 属性 |
|
|
80
|
+
| ----------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
81
|
+
| custom <sup>1.17+</sup> | 自定义选项的内容 | { columns: any[][]; value: number[]; pickerViewClass: string; maskClass: string; indicatorClass: string; onChange: (event: any) => void;} |
|
|
82
|
+
|
|
83
|
+
### PickerEmits
|
|
84
|
+
|
|
85
|
+
| 事件 | 描述 | 类型 |
|
|
86
|
+
| ------------------------ | -------------------- | ------------------------------------------------------------------------ |
|
|
87
|
+
| update:model-value | 选中的选项改变时触发 | (value: any, selectedOptions: PickerOption[], indexes: number[]) => void |
|
|
88
|
+
| change <sup>1.9.2+</sup> | 选中的选项改变时触发 | (value: any, selectedOptions: PickerOption[], indexes: number[]) => void |
|
|
89
|
+
|
|
90
|
+
### PickerOption
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
type PickerOption =
|
|
94
|
+
| {
|
|
95
|
+
[key: PropertyKey]: any
|
|
96
|
+
}
|
|
97
|
+
| number
|
|
98
|
+
| string
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### PickerOptionKeys
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
interface PickerOptionKeys {
|
|
105
|
+
label?: string
|
|
106
|
+
value?: string
|
|
107
|
+
children?: string
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 主题定制
|
|
112
|
+
|
|
113
|
+
### CSS 变量
|
|
114
|
+
|
|
115
|
+
@code('./variables.scss#variables')
|
|
@@ -52,6 +52,16 @@ import {
|
|
|
52
52
|
defaultPickerProps
|
|
53
53
|
} from "./common";
|
|
54
54
|
import SarPickerItem from "../picker-item/picker-item.vue";
|
|
55
|
+
/**
|
|
56
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
57
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
58
|
+
* @property {PickerOption[] | PickerOption[][]} columns 配置每一列的数据,默认值:[]。
|
|
59
|
+
* @property {PickerOptionKeys} optionKeys 自定义 `columns` 结构中的字段,默认值:{label: 'label', value: 'value', children: 'children'}。
|
|
60
|
+
* @property {any} modelValue 选中项的值,默认值:-。
|
|
61
|
+
* @property {boolean} immediateChange 是否在手指松开时立即触发 `update:model-value` 事件,默认值:false。
|
|
62
|
+
* @event {(value: any, selectedOptions: PickerOption[], indexes: number[]) => void} update 选中的选项改变时触发
|
|
63
|
+
* @event {(value: any, selectedOptions: PickerOption[], indexes: number[]) => void} change 选中的选项改变时触发
|
|
64
|
+
*/
|
|
55
65
|
export default _defineComponent({
|
|
56
66
|
components: {
|
|
57
67
|
SarPickerItem,
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: PickerInput
|
|
4
|
+
subtitle: 选择器输入框
|
|
5
|
+
group: 表单组件
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 介绍
|
|
9
|
+
|
|
10
|
+
组合了选择器弹出框、输入框组件,实现了便捷快速的选择功能。
|
|
11
|
+
|
|
12
|
+
## 引入
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import PickerInput from 'sard-uniapp/components/picker-input/picker-input.vue'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 代码演示
|
|
19
|
+
|
|
20
|
+
### 基础使用
|
|
21
|
+
|
|
22
|
+
使用 `v-model` 绑定当前值,通过 `title` 和 `placeholder` 属性设置弹出框标题和输入框占位文本。
|
|
23
|
+
|
|
24
|
+
在点击输入框后会显示包裹选择器的弹出框。
|
|
25
|
+
|
|
26
|
+
@code('${DEMO_PATH}/picker-input/demo/Basic.vue')
|
|
27
|
+
|
|
28
|
+
## API
|
|
29
|
+
|
|
30
|
+
### PickerInputProps
|
|
31
|
+
|
|
32
|
+
继承 [`PickerPopoutProps`](./picker-popout#PickerPopoutProps) 并有以下额外属性:
|
|
33
|
+
|
|
34
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
35
|
+
| --------------------------------- | ---------------------- | ---------- | --------------- |
|
|
36
|
+
| root-class | 弹出式输入框根元素类名 | string | - |
|
|
37
|
+
| root-style | 弹出式输入框根元素样式 | StyleValue | - |
|
|
38
|
+
| disabled | 禁用状态 | boolean | false |
|
|
39
|
+
| readonly | 只读状态 | boolean | false |
|
|
40
|
+
| loading | 加载状态 | boolean | false |
|
|
41
|
+
| clearable | 是否显示清空按钮 | boolean | false |
|
|
42
|
+
| placeholder | 输入框占位符内容 | string | - |
|
|
43
|
+
| value-on-clear <sup>1.19.2+</sup> | 设置点击清除按钮后的值 | () => any | () => undefined |
|
|
44
|
+
|
|
45
|
+
### PickerSlots
|
|
46
|
+
|
|
47
|
+
继承 [`PickerPopoutSlots`](./picker-popout#PickerPopoutSlots)
|
|
48
|
+
|
|
49
|
+
### PickerInputEmits
|
|
50
|
+
|
|
51
|
+
继承 [`PickerPopoutEmits`](./picker-popout#PickerPopoutEmits) 并有以下额外属性:
|
|
@@ -65,6 +65,27 @@ import { usePopoutInput } from "../../use";
|
|
|
65
65
|
import {
|
|
66
66
|
defaultPickerInputProps
|
|
67
67
|
} from "./common";
|
|
68
|
+
/**
|
|
69
|
+
* @property {string} rootClass 弹出式输入框根元素类名,默认值:-。
|
|
70
|
+
* @property {StyleValue} rootStyle 弹出式输入框根元素样式,默认值:-。
|
|
71
|
+
* @property {PickerOption[] | PickerOption[][]} columns 配置每一列的数据,默认值:[]。
|
|
72
|
+
* @property {PickerOptionKeys} optionKeys 自定义 `columns` 结构中的字段,默认值:{label: 'label', value: 'value', children: 'children'}。
|
|
73
|
+
* @property {any} modelValue 选中项的值,默认值:-。
|
|
74
|
+
* @property {boolean} immediateChange 是否在手指松开时立即触发 `update:model-value` 事件,默认值:false。
|
|
75
|
+
* @property {string} popoutClass 弹窗框根元素类名,默认值:-。
|
|
76
|
+
* @property {StyleValue} popoutStyle 弹窗框根元素样式,默认值:-。
|
|
77
|
+
* @property {boolean} visible 是否显示弹出框,默认值:-。
|
|
78
|
+
* @property {string} title 弹出框标题,默认值:-。
|
|
79
|
+
* @property {boolean} validateEvent 是否触发表单验证,默认值:true。
|
|
80
|
+
* @property {boolean} disabled 禁用状态,默认值:false。
|
|
81
|
+
* @property {boolean} readonly 只读状态,默认值:false。
|
|
82
|
+
* @property {boolean} loading 加载状态,默认值:false。
|
|
83
|
+
* @property {boolean} clearable 是否显示清空按钮,默认值:false。
|
|
84
|
+
* @property {string} placeholder 输入框占位符内容,默认值:-。
|
|
85
|
+
* @property {() => any} valueOnClear 设置点击清除按钮后的值,默认值:() => undefined。
|
|
86
|
+
* @event {(visible: boolean) => void} update 弹出框显隐时触发
|
|
87
|
+
* @event {(value: any) => void} change 选择器输入组件值改变时触发
|
|
88
|
+
*/
|
|
68
89
|
export default _defineComponent({
|
|
69
90
|
components: {
|
|
70
91
|
SarPopoutInput,
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: PickerPopout
|
|
4
|
+
subtitle: 选择器弹出框
|
|
5
|
+
group: 表单组件
|
|
6
|
+
version: 1.16+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 介绍
|
|
10
|
+
|
|
11
|
+
组合了选择器、弹出框组件,实现了便捷快速的选择功能。
|
|
12
|
+
|
|
13
|
+
## 引入
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import PickerPopout from 'sard-uniapp/components/picker-popout/picker-popout.vue'
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 代码演示
|
|
20
|
+
|
|
21
|
+
### 基础使用
|
|
22
|
+
|
|
23
|
+
使用 `v-model` 双向绑定当前值,使用 `v-model:visible` 控制弹出框显隐。
|
|
24
|
+
|
|
25
|
+
@code('${DEMO_PATH}/picker-popout/demo/Basic.vue')
|
|
26
|
+
|
|
27
|
+
## API
|
|
28
|
+
|
|
29
|
+
### PickerPopoutProps
|
|
30
|
+
|
|
31
|
+
继承 [`PickerProps`](./picker#PickerProps) 并有以下额外属性:
|
|
32
|
+
|
|
33
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
34
|
+
| ----------------- | ---------------- | ---------- | ------ |
|
|
35
|
+
| popout-class | 弹窗框根元素类名 | string | - |
|
|
36
|
+
| popout-style | 弹窗框根元素样式 | StyleValue | - |
|
|
37
|
+
| visible (v-model) | 是否显示弹出框 | boolean | - |
|
|
38
|
+
| title | 弹出框标题 | string | - |
|
|
39
|
+
| validate-event | 是否触发表单验证 | boolean | true |
|
|
40
|
+
|
|
41
|
+
### PickerPopoutSlots
|
|
42
|
+
|
|
43
|
+
继承 [`PickerSlots`](./picker#PickerSlots)
|
|
44
|
+
|
|
45
|
+
### PickerPopoutEmits
|
|
46
|
+
|
|
47
|
+
| 事件 | 描述 | 类型 |
|
|
48
|
+
| ------------------ | -------------------------- | -------------------------- |
|
|
49
|
+
| update:model-value | 选择器输入组件值改变时触发 | (value: any) => void |
|
|
50
|
+
| change | 选择器输入组件值改变时触发 | (value: any) => void |
|
|
51
|
+
| update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
|
|
@@ -57,6 +57,21 @@ import { isEmptyBinding, isNumber } from "../../utils";
|
|
|
57
57
|
import { defaultOptionKeys, getInitialValue } from "../picker/common";
|
|
58
58
|
import { computed } from "vue";
|
|
59
59
|
import { useFormPopout } from "../../use";
|
|
60
|
+
/**
|
|
61
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
62
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
63
|
+
* @property {PickerOption[] | PickerOption[][]} columns 配置每一列的数据,默认值:[]。
|
|
64
|
+
* @property {PickerOptionKeys} optionKeys 自定义 `columns` 结构中的字段,默认值:{label: 'label', value: 'value', children: 'children'}。
|
|
65
|
+
* @property {any} modelValue 选中项的值,默认值:-。
|
|
66
|
+
* @property {boolean} immediateChange 是否在手指松开时立即触发 `update:model-value` 事件,默认值:false。
|
|
67
|
+
* @property {string} popoutClass 弹窗框根元素类名,默认值:-。
|
|
68
|
+
* @property {StyleValue} popoutStyle 弹窗框根元素样式,默认值:-。
|
|
69
|
+
* @property {boolean} visible 是否显示弹出框,默认值:-。
|
|
70
|
+
* @property {string} title 弹出框标题,默认值:-。
|
|
71
|
+
* @property {boolean} validateEvent 是否触发表单验证,默认值:true。
|
|
72
|
+
* @event {(visible: boolean) => void} update 弹出框显隐时触发
|
|
73
|
+
* @event {(value: any) => void} change 选择器输入组件值改变时触发
|
|
74
|
+
*/
|
|
60
75
|
export default _defineComponent({
|
|
61
76
|
components: {
|
|
62
77
|
SarPopout,
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: Popout
|
|
4
|
+
subtitle: 弹出框
|
|
5
|
+
group: 数据展示
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 介绍
|
|
9
|
+
|
|
10
|
+
底部弹出框,可以控制组件的展示与交互,可作为其他组件的弹出框容器。
|
|
11
|
+
|
|
12
|
+
## 引入
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import Popout from 'sard-uniapp/components/popout/popout.vue'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 代码演示
|
|
19
|
+
|
|
20
|
+
### 基础使用
|
|
21
|
+
|
|
22
|
+
使用 `visible`属性控制显隐,使用 `title` 属性设置标题。
|
|
23
|
+
|
|
24
|
+
@code('${DEMO_PATH}/popout/demo/Basic.vue')
|
|
25
|
+
|
|
26
|
+
### 紧凑类型
|
|
27
|
+
|
|
28
|
+
通过将 `type` 设为 `compact` 可以将确定/取消按钮放到标题两侧,以便节省空间。
|
|
29
|
+
|
|
30
|
+
@code('${DEMO_PATH}/popout/demo/Compact.vue')
|
|
31
|
+
|
|
32
|
+
### 异步关闭
|
|
33
|
+
|
|
34
|
+
如果 `beforeClose` 返回 false,则取消关闭弹出框;如果返回 `Promise` 对象,则会在 `resolve` 时才关闭弹出框。
|
|
35
|
+
|
|
36
|
+
@code('${DEMO_PATH}/popout/demo/BeforeClose.vue')
|
|
37
|
+
|
|
38
|
+
## API
|
|
39
|
+
|
|
40
|
+
### PopoutProps
|
|
41
|
+
|
|
42
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
43
|
+
| ----------------- | -------------------------------------------------------------------- | -------------------- | ------- |
|
|
44
|
+
| root-class | 组件根元素类名 | string | - |
|
|
45
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
46
|
+
| title | 弹出框标题 | string | - |
|
|
47
|
+
| show-cancel | 是否显示取消按钮,适用 `loose` 类型 | boolean | false |
|
|
48
|
+
| cancel-text | 取消按钮文案 | string | '取消' |
|
|
49
|
+
| show-confirm | 是否显示确定按钮,适用 `loose` 类型 | boolean | true |
|
|
50
|
+
| confirm-text | 确定按钮文案 | string | '确定' |
|
|
51
|
+
| show-close | 是否显示关闭按钮,适用 `loose` 类型 | boolean | true |
|
|
52
|
+
| show-footer | 是否显示底部按钮 | boolean | true |
|
|
53
|
+
| type | 弹出框按钮排版方式 | 'compact' \| 'loose' | 'loose' |
|
|
54
|
+
| visible (v-model) | 是否显示弹出框 | boolean | - |
|
|
55
|
+
| before-close | 关闭前的回调,返回 `false` 或 `rejected` 状态的 `Promise` 可阻止关闭 | PopoutBeforeClose | - |
|
|
56
|
+
| duration | 显隐动画时长,单位 ms | number | 300 |
|
|
57
|
+
| overlay-closable | 点击遮罩是否关闭 | boolean | true |
|
|
58
|
+
|
|
59
|
+
### PopoutBeforeClose
|
|
60
|
+
|
|
61
|
+
- 当点击确定按钮时,`type` 为 `confirm`;
|
|
62
|
+
- 当点击取消按钮时,`type` 为 `cancel`;
|
|
63
|
+
- 当点击关闭按钮或遮罩时,`type` 为 `close`。
|
|
64
|
+
|
|
65
|
+
`loading` 表示当前哪个按钮处于异步关闭状态。
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
type PopoutBeforeClose = (
|
|
69
|
+
type: 'close' | 'cancel' | 'confirm',
|
|
70
|
+
loading: {
|
|
71
|
+
readonly cancel: boolean
|
|
72
|
+
readonly confirm: boolean
|
|
73
|
+
readonly close: boolean
|
|
74
|
+
},
|
|
75
|
+
) => any | Promise<any>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### PopoutSlots
|
|
79
|
+
|
|
80
|
+
| 插槽 | 描述 | 属性 |
|
|
81
|
+
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
|
|
82
|
+
| default | 自定义主体内容 | - |
|
|
83
|
+
| title | 自定义标题 | - |
|
|
84
|
+
| title-prepend <sup>1.19.2+</sup> | 自定义标题前面内容 | - |
|
|
85
|
+
| cancel | 自定义确定按钮内容 | - |
|
|
86
|
+
| confirm | 自定义取消按钮内容 | - |
|
|
87
|
+
| visible | 同默认插槽,额外接收一些判断弹出框显示状态的属性,用于小程序端多节点渲染的性能问题;`whole` 当开始显示到完全隐藏时为真,`already` 当开始显示时到以后都为真 | { whole: boolean, already: boolean } |
|
|
88
|
+
|
|
89
|
+
### PopoutEmits
|
|
90
|
+
|
|
91
|
+
| 事件 | 描述 | 类型 |
|
|
92
|
+
| -------------------------------- | --------------------------- | ---------------------------------- |
|
|
93
|
+
| update:visible | 显隐时触发 | (visible: boolean) => void |
|
|
94
|
+
| close | 点击关闭按钮或遮罩时触发 | () => void |
|
|
95
|
+
| cancel | 点击取消按钮时触发 | () => void |
|
|
96
|
+
| confirm | 点击确定按钮时触发 | () => void |
|
|
97
|
+
| visible-hook | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
|
|
98
|
+
| before-enter <sup>1.12+</sup> | 入场动画开始前触发 | () => void |
|
|
99
|
+
| enter <sup>1.12+</sup> | 入场动画开始时触发 | () => void |
|
|
100
|
+
| after-enter <sup>1.12+</sup> | 入场动画结束时触发 | () => void |
|
|
101
|
+
| enter-cancelled <sup>1.12+</sup> | 入场动画取消时触发 | () => void |
|
|
102
|
+
| before-leave <sup>1.12+</sup> | 退场动画开始前触发 | () => void |
|
|
103
|
+
| leave <sup>1.12+</sup> | 退场动画开始时触发 | () => void |
|
|
104
|
+
| after-leave <sup>1.12+</sup> | 退场动画结束时触发 | () => void |
|
|
105
|
+
| leave-cancelled <sup>1.12+</sup> | 退场动画取消时触发 | () => void |
|
|
106
|
+
|
|
107
|
+
## 主题定制
|
|
108
|
+
|
|
109
|
+
### CSS 变量
|
|
110
|
+
|
|
111
|
+
@code('./variables.scss#variables')
|
|
@@ -111,6 +111,35 @@ import { useTranslate } from "../locale";
|
|
|
111
111
|
import {
|
|
112
112
|
defaultPopoutProps
|
|
113
113
|
} from "./common";
|
|
114
|
+
/**
|
|
115
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
116
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
117
|
+
* @property {string} title 弹出框标题,默认值:-。
|
|
118
|
+
* @property {boolean} showCancel 是否显示取消按钮,适用 `loose` 类型,默认值:false。
|
|
119
|
+
* @property {string} cancelText 取消按钮文案,默认值:'取消'。
|
|
120
|
+
* @property {boolean} showConfirm 是否显示确定按钮,适用 `loose` 类型,默认值:true。
|
|
121
|
+
* @property {string} confirmText 确定按钮文案,默认值:'确定'。
|
|
122
|
+
* @property {boolean} showClose 是否显示关闭按钮,适用 `loose` 类型,默认值:true。
|
|
123
|
+
* @property {boolean} showFooter 是否显示底部按钮,默认值:true。
|
|
124
|
+
* @property {'compact' | 'loose'} type 弹出框按钮排版方式,默认值:'loose'。
|
|
125
|
+
* @property {boolean} visible 是否显示弹出框,默认值:-。
|
|
126
|
+
* @property {PopoutBeforeClose} beforeClose 关闭前的回调,返回 `false` 或 `rejected` 状态的 `Promise` 可阻止关闭,默认值:-。
|
|
127
|
+
* @property {number} duration 显隐动画时长,单位 ms,默认值:300。
|
|
128
|
+
* @property {boolean} overlayClosable 点击遮罩是否关闭,默认值:true。
|
|
129
|
+
* @event {(visible: boolean) => void} update 显隐时触发
|
|
130
|
+
* @event {() => void} close 点击关闭按钮或遮罩时触发
|
|
131
|
+
* @event {() => void} cancel 点击取消按钮时触发
|
|
132
|
+
* @event {() => void} confirm 点击确定按钮时触发
|
|
133
|
+
* @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
|
|
134
|
+
* @event {() => void} before-enter 入场动画开始前触发
|
|
135
|
+
* @event {() => void} enter 入场动画开始时触发
|
|
136
|
+
* @event {() => void} after-enter 入场动画结束时触发
|
|
137
|
+
* @event {() => void} enter-cancelled 入场动画取消时触发
|
|
138
|
+
* @event {() => void} before-leave 退场动画开始前触发
|
|
139
|
+
* @event {() => void} leave 退场动画开始时触发
|
|
140
|
+
* @event {() => void} after-leave 退场动画结束时触发
|
|
141
|
+
* @event {() => void} leave-cancelled 退场动画取消时触发
|
|
142
|
+
*/
|
|
114
143
|
export default _defineComponent({
|
|
115
144
|
components: {
|
|
116
145
|
SarPopup,
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: 组件
|
|
3
|
+
title: PopoutInput
|
|
4
|
+
subtitle: 弹出式输入框
|
|
5
|
+
group: 表单组件
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 介绍
|
|
9
|
+
|
|
10
|
+
输入框组件,用于配合弹出框组件和表单控件一起使用。自定义了输入框样式。
|
|
11
|
+
|
|
12
|
+
## 引入
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import PopoutInput from 'sard-uniapp/components/popout-input/popout-input.vue'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 代码演示
|
|
19
|
+
|
|
20
|
+
### 基础使用
|
|
21
|
+
|
|
22
|
+
使用 `v-model` 绑定值, `click` 事件监听点击事件。
|
|
23
|
+
|
|
24
|
+
@code('${DEMO_PATH}/popout-input/demo/Basic.vue')
|
|
25
|
+
|
|
26
|
+
## API
|
|
27
|
+
|
|
28
|
+
### PopoutInputProps
|
|
29
|
+
|
|
30
|
+
| 属性 | 描述 | 类型 | 默认值 |
|
|
31
|
+
| ----------- | ---------------- | ---------- | ------ |
|
|
32
|
+
| root-class | 组件根元素类名 | string | - |
|
|
33
|
+
| root-style | 组件根元素样式 | StyleValue | - |
|
|
34
|
+
| model-value | 输入框值 | string | - |
|
|
35
|
+
| placeholder | 输入框占位符内容 | string | - |
|
|
36
|
+
| disabled | 禁用状态 | boolean | false |
|
|
37
|
+
| readonly | 只读状态 | boolean | false |
|
|
38
|
+
| loading | 加载状态 | boolean | false |
|
|
39
|
+
| clearable | 是否显示清空按钮 | boolean | false |
|
|
40
|
+
| multiline | 是否多行输入框 | boolean | false |
|
|
41
|
+
|
|
42
|
+
### PopoutInputEmits
|
|
43
|
+
|
|
44
|
+
| 事件 | 描述 | 类型 |
|
|
45
|
+
| ------------------------ | ---------------------------------- | ----------------------- |
|
|
46
|
+
| click | 点击输入框时触发,只读和禁用不触发 | () => void |
|
|
47
|
+
| update:model-value | 输入框值改变时触发 | (value: string) => void |
|
|
48
|
+
| change <sup>1.9.2+</sup> | 输入框值改变时触发 | (value: string) => void |
|
|
49
|
+
| clear | 点击清除按钮时触发 | () => void |
|
|
50
|
+
|
|
51
|
+
## 主题定制
|
|
52
|
+
|
|
53
|
+
### CSS 变量
|
|
54
|
+
|
|
55
|
+
@code('./variables.scss#variables')
|
|
@@ -53,6 +53,21 @@ import SarInput from "../input/input.vue";
|
|
|
53
53
|
import SarIcon from "../icon/icon.vue";
|
|
54
54
|
import { useFormContext } from "../form/common";
|
|
55
55
|
import SarLoading from "../loading/loading.vue";
|
|
56
|
+
/**
|
|
57
|
+
* @property {string} rootClass 组件根元素类名,默认值:-。
|
|
58
|
+
* @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
|
|
59
|
+
* @property {string} modelValue 输入框值,默认值:-。
|
|
60
|
+
* @property {string} placeholder 输入框占位符内容,默认值:-。
|
|
61
|
+
* @property {boolean} disabled 禁用状态,默认值:false。
|
|
62
|
+
* @property {boolean} readonly 只读状态,默认值:false。
|
|
63
|
+
* @property {boolean} loading 加载状态,默认值:false。
|
|
64
|
+
* @property {boolean} clearable 是否显示清空按钮,默认值:false。
|
|
65
|
+
* @property {boolean} multiline 是否多行输入框,默认值:false。
|
|
66
|
+
* @event {() => void} click 点击输入框时触发,只读和禁用不触发
|
|
67
|
+
* @event {(value: string) => void} update 输入框值改变时触发
|
|
68
|
+
* @event {(value: string) => void} change 输入框值改变时触发
|
|
69
|
+
* @event {() => void} clear 点击清除按钮时触发
|
|
70
|
+
*/
|
|
56
71
|
export default _defineComponent({
|
|
57
72
|
components: {
|
|
58
73
|
SarInput,
|