@ebfe/vantkit-doc 0.0.2 → 0.0.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/es/index.d.ts +7 -0
- package/es/index.js +3 -7
- package/lib/@ebfe/vant-kit.cjs.js +20 -0
- package/lib/@ebfe/vant-kit.es.js +16 -0
- package/lib/@ebfe/vant-kit.js +29 -0
- package/lib/@ebfe/vant-kit.min.js +20 -0
- package/lib/index.css +0 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +28 -7
- package/lib/web-types.json +284 -0
- package/package.json +4 -4
- package/es/coloring-avatar/README.md +0 -110
- package/es/date-picker/README.md +0 -248
- package/es/date-range-picker/README.md +0 -369
- package/es/field-date-picker/README.md +0 -101
- package/es/field-date-range-picker/README.md +0 -134
- package/es/field-mask-txt/README.md +0 -281
- package/es/field-multi-picker/README.md +0 -115
- package/es/field-single-picker/README.md +0 -107
- package/es/mask-txt/README.md +0 -214
- package/es/multi-picker/README.md +0 -183
- package/es/single-picker/README.md +0 -239
- package/lib/coloring-avatar/README.md +0 -110
- package/lib/date-picker/README.md +0 -248
- package/lib/date-range-picker/README.md +0 -369
- package/lib/field-date-picker/README.md +0 -101
- package/lib/field-date-range-picker/README.md +0 -134
- package/lib/field-mask-txt/README.md +0 -281
- package/lib/field-multi-picker/README.md +0 -115
- package/lib/field-single-picker/README.md +0 -107
- package/lib/mask-txt/README.md +0 -214
- package/lib/multi-picker/README.md +0 -183
- package/lib/single-picker/README.md +0 -239
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
# SinglePicker
|
|
2
|
-
|
|
3
|
-
### 介绍
|
|
4
|
-
|
|
5
|
-
主要基于 vant 的 popup、picker 组件进行二次封装,方便处理单项选择的需求场景。
|
|
6
|
-
|
|
7
|
-
- 支持传入所有 [picker props](https://vant-ui.github.io/vant/#/zh-CN/picker#props)
|
|
8
|
-
- 支持暴露所有 [picker slots](https://vant-ui.github.io/vant/#/zh-CN/picker#slots)
|
|
9
|
-
|
|
10
|
-
**主要功能描述**
|
|
11
|
-
|
|
12
|
-
- 支持自定义触发器
|
|
13
|
-
- 支持开启搜索功能
|
|
14
|
-
- 禁用选项逻辑增强
|
|
15
|
-
|
|
16
|
-
**对开发者的解脱**
|
|
17
|
-
|
|
18
|
-
- 符合 ui 设计
|
|
19
|
-
- 打开收起逻辑的编写
|
|
20
|
-
- 对所选项的 `真实值`、`展示值` 的处理
|
|
21
|
-
|
|
22
|
-
## 代码演示
|
|
23
|
-
|
|
24
|
-
### 基础用法
|
|
25
|
-
|
|
26
|
-
```html
|
|
27
|
-
<template>
|
|
28
|
-
<SinglePicker
|
|
29
|
-
v-model="pickerValue"
|
|
30
|
-
:picker-props="{
|
|
31
|
-
title: '基础用法',
|
|
32
|
-
columns: columns,
|
|
33
|
-
columnsFieldNames: columnsFieldNames,
|
|
34
|
-
}"
|
|
35
|
-
>
|
|
36
|
-
<template #trigger="{ triggerPopupShow, showValue }">
|
|
37
|
-
<div class="trigger-box">
|
|
38
|
-
<van-button type="primary" @click="triggerPopupShow"> 点击打开选择器🤪 </van-button>
|
|
39
|
-
<p>show value: {{ showValue }}</p>
|
|
40
|
-
<p>modelValue: {{ pickerValue }}</p>
|
|
41
|
-
</div>
|
|
42
|
-
</template>
|
|
43
|
-
</SinglePicker>
|
|
44
|
-
</template>
|
|
45
|
-
|
|
46
|
-
<script setup lang="ts">
|
|
47
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
48
|
-
import { SinglePicker } from '@ebfe/vant-kit';
|
|
49
|
-
import { Button as VanButton } from 'vant';
|
|
50
|
-
|
|
51
|
-
const columns = [
|
|
52
|
-
{ name: '选项1', value: '1' },
|
|
53
|
-
{ name: '选项2', value: '2' },
|
|
54
|
-
];
|
|
55
|
-
const columnsFieldNames = {
|
|
56
|
-
text: 'name',
|
|
57
|
-
value: 'value',
|
|
58
|
-
};
|
|
59
|
-
const [pickerValue, _setPickerValue] = useWrapperRef<string | undefined>(undefined);
|
|
60
|
-
</script>
|
|
61
|
-
|
|
62
|
-
<style scoped lang="less">
|
|
63
|
-
.trigger-box {
|
|
64
|
-
display: flex;
|
|
65
|
-
flex-direction: column;
|
|
66
|
-
justify-content: center;
|
|
67
|
-
align-items: center;
|
|
68
|
-
}
|
|
69
|
-
</style>
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 开启搜索功能
|
|
73
|
-
|
|
74
|
-
- 传入 show-earch 展示搜索框
|
|
75
|
-
- 侦听 search 事件处理搜索逻辑
|
|
76
|
-
|
|
77
|
-
> 💫 对交互细节的优化:如果在输入关键字进行搜索后,新的数据源为空,此时点击确定,更新的值依旧为最近一次选中的选项。
|
|
78
|
-
|
|
79
|
-
```html
|
|
80
|
-
<template>
|
|
81
|
-
<SinglePicker
|
|
82
|
-
v-model="pickerValue"
|
|
83
|
-
:picker-props="{
|
|
84
|
-
columns: columns,
|
|
85
|
-
columnsFieldNames: columnsFieldNames,
|
|
86
|
-
}"
|
|
87
|
-
show-search
|
|
88
|
-
@search="onSearch"
|
|
89
|
-
>
|
|
90
|
-
<template #trigger="{ triggerPopupShow, showValue }">
|
|
91
|
-
<div class="trigger-box">
|
|
92
|
-
<van-button type="primary" @click="triggerPopupShow"> 带搜索框🔍 </van-button>
|
|
93
|
-
<p>show value: {{ showValue }}</p>
|
|
94
|
-
<p>modelValue: {{ pickerValue }}</p>
|
|
95
|
-
</div>
|
|
96
|
-
</template>
|
|
97
|
-
|
|
98
|
-
<template #title>Ashun</template>
|
|
99
|
-
</SinglePicker>
|
|
100
|
-
</template>
|
|
101
|
-
|
|
102
|
-
<script setup lang="ts">
|
|
103
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
104
|
-
import { SinglePicker } from '@ebfe/vant-kit';
|
|
105
|
-
import { Button as VanButton } from 'vant';
|
|
106
|
-
import { checkStrIsEmpty } from '@ebfe/utils';
|
|
107
|
-
|
|
108
|
-
const columnsDataSource = [
|
|
109
|
-
{ name: '选项1', value: '1' },
|
|
110
|
-
{ name: '选项2', value: '2' },
|
|
111
|
-
];
|
|
112
|
-
const [columns, setColumns] = useWrapperRef(columnsDataSource);
|
|
113
|
-
const columnsFieldNames = {
|
|
114
|
-
text: 'name',
|
|
115
|
-
value: 'value',
|
|
116
|
-
};
|
|
117
|
-
const [pickerValue, _setPickerValue] = useWrapperRef<string | undefined>(undefined);
|
|
118
|
-
|
|
119
|
-
const onSearch = (keywords: string) => {
|
|
120
|
-
if (checkStrIsEmpty(keywords)) {
|
|
121
|
-
setColumns(columnsDataSource);
|
|
122
|
-
} else {
|
|
123
|
-
setColumns(
|
|
124
|
-
columnsDataSource.filter((item) => item.name.toLocaleLowerCase().includes(keywords.toLocaleLowerCase()))
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
</script>
|
|
129
|
-
|
|
130
|
-
<style scoped lang="less">
|
|
131
|
-
.trigger-box {
|
|
132
|
-
display: flex;
|
|
133
|
-
flex-direction: column;
|
|
134
|
-
justify-content: center;
|
|
135
|
-
align-items: center;
|
|
136
|
-
}
|
|
137
|
-
</style>
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 禁用选项逻辑增强
|
|
141
|
-
|
|
142
|
-
```html
|
|
143
|
-
<template>
|
|
144
|
-
<SinglePicker
|
|
145
|
-
v-model="pickerValue"
|
|
146
|
-
:picker-props="{
|
|
147
|
-
title,
|
|
148
|
-
columns: columns,
|
|
149
|
-
columnsFieldNames: columnsFieldNames,
|
|
150
|
-
}"
|
|
151
|
-
@confirm-disabled-option="
|
|
152
|
-
({}) =>
|
|
153
|
-
showToast(
|
|
154
|
-
'你可以自定义后续操作,回调函数参数类型 TSPConfirmDisabledOptionPayload',
|
|
155
|
-
)
|
|
156
|
-
"
|
|
157
|
-
>
|
|
158
|
-
<template #trigger="{ triggerPopupShow, showValue }">
|
|
159
|
-
<div class="trigger-box">
|
|
160
|
-
<span>
|
|
161
|
-
<van-button @click="showPartialDisableOptions(triggerPopupShow)"> 部分选项禁用 </van-button>
|
|
162
|
-
<van-button @click="showAllDisableOptions(triggerPopupShow)"> 全部选项禁用 </van-button>
|
|
163
|
-
</span>
|
|
164
|
-
<p>show value: {{ showValue }}</p>
|
|
165
|
-
<p>modelValue: {{ pickerValue }}</p>
|
|
166
|
-
</div>
|
|
167
|
-
</template>
|
|
168
|
-
</SinglePicker>
|
|
169
|
-
</template>
|
|
170
|
-
|
|
171
|
-
<script setup lang="ts">
|
|
172
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
173
|
-
import { SinglePicker } from '@ebfe/vant-kit';
|
|
174
|
-
import { showToast, Button as VanButton } from 'vant';
|
|
175
|
-
|
|
176
|
-
const partialDisableCols = [
|
|
177
|
-
{ name: '选项1', value: '1' },
|
|
178
|
-
{ name: '选项2(禁用)', value: '2', disabled: true },
|
|
179
|
-
{ name: '选项3', value: '3' },
|
|
180
|
-
];
|
|
181
|
-
const allDisableCols = [
|
|
182
|
-
{ name: '选项1(禁用)', value: '1(禁用)', disabled: true },
|
|
183
|
-
{ name: '选项2(禁用)', value: '2(禁用)', disabled: true },
|
|
184
|
-
{ name: '选项3(禁用)', value: '3(禁用)', disabled: true },
|
|
185
|
-
];
|
|
186
|
-
const [columns, setColumns] = useWrapperRef(partialDisableCols);
|
|
187
|
-
const columnsFieldNames = {
|
|
188
|
-
text: 'name',
|
|
189
|
-
value: 'value',
|
|
190
|
-
};
|
|
191
|
-
const [pickerValue, _setPickerValue] = useWrapperRef<string | undefined>(undefined);
|
|
192
|
-
|
|
193
|
-
const [title, setTitle] = useWrapperRef<string>('');
|
|
194
|
-
const showPartialDisableOptions = (triggerPopupShow) => {
|
|
195
|
-
setTitle('部分选项禁用');
|
|
196
|
-
setColumns(partialDisableCols);
|
|
197
|
-
triggerPopupShow();
|
|
198
|
-
};
|
|
199
|
-
const showAllDisableOptions = (triggerPopupShow) => {
|
|
200
|
-
setTitle('全部选项禁用');
|
|
201
|
-
setColumns(allDisableCols);
|
|
202
|
-
triggerPopupShow();
|
|
203
|
-
};
|
|
204
|
-
</script>
|
|
205
|
-
|
|
206
|
-
<style scoped lang="less">
|
|
207
|
-
.trigger-box {
|
|
208
|
-
display: flex;
|
|
209
|
-
flex-direction: column;
|
|
210
|
-
justify-content: center;
|
|
211
|
-
align-items: center;
|
|
212
|
-
}
|
|
213
|
-
</style>
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
## API
|
|
217
|
-
|
|
218
|
-
### Props
|
|
219
|
-
|
|
220
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
221
|
-
| ------------ | ------------------------------------------------------------------------------- | -------------------- | ------ |
|
|
222
|
-
| v-model | 当前选中项对应的值 | string \| undefinerd | - |
|
|
223
|
-
| picker-props | [vant Picker 组件的 props](https://vant-ui.github.io/vant/#/zh-CN/picker#props) | | |
|
|
224
|
-
| show-search | 是否显示搜索框 | boolean | false |
|
|
225
|
-
| search-delay | 搜索防抖时间(ms) | number | 300 |
|
|
226
|
-
|
|
227
|
-
### Events
|
|
228
|
-
|
|
229
|
-
| 事件名 | 说明 | 回调参数 |
|
|
230
|
-
| :-------------------- | :----------------------------- | :------------------------------------------------------------------------------ |
|
|
231
|
-
| confirm | 点击 picker 确认后触发的事件 | option (选中项的全部数据) |
|
|
232
|
-
| search | 在搜索框输入时,触发的搜索事件 | keywords |
|
|
233
|
-
| confirmDisabledOption | 选中禁用项时,触发的事件 | type TSPConfirmDisabledOptionPayload = { option: any; closePopup: () => void; } |
|
|
234
|
-
|
|
235
|
-
### Slots
|
|
236
|
-
|
|
237
|
-
| 名称 | 说明 | 参数 |
|
|
238
|
-
| :------ | :----- | :----------------------------------------------------------------------------- |
|
|
239
|
-
| trigger | 触发器 | `{ trigger-popup-show: () => void; show-value: string; selected-option: any }` |
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
# ColoringAvatar
|
|
2
|
-
|
|
3
|
-
### 介绍
|
|
4
|
-
|
|
5
|
-
着色头像
|
|
6
|
-
|
|
7
|
-
**主要功能描述**
|
|
8
|
-
|
|
9
|
-
- 内置中英文名称取值逻辑
|
|
10
|
-
- 内置渐变随机色
|
|
11
|
-
- 支持自定义
|
|
12
|
-
- 头像着色
|
|
13
|
-
- 文字大小
|
|
14
|
-
- 头像尺寸
|
|
15
|
-
|
|
16
|
-
## 代码演示
|
|
17
|
-
|
|
18
|
-
### 基础用法
|
|
19
|
-
|
|
20
|
-
```html
|
|
21
|
-
<template>
|
|
22
|
-
<demo-block title="中文名">
|
|
23
|
-
<section>
|
|
24
|
-
<span class="desc">展示后两个字符 (李钟硕)</span>
|
|
25
|
-
<ColoringAvatar name="李钟硕" />
|
|
26
|
-
</section>
|
|
27
|
-
</demo-block>
|
|
28
|
-
<demo-block title="英文名">
|
|
29
|
-
<section>
|
|
30
|
-
<span class="desc">展示第一个字符 (IU)</span>
|
|
31
|
-
<ColoringAvatar name="IU" />
|
|
32
|
-
</section>
|
|
33
|
-
</demo-block>
|
|
34
|
-
<demo-block title="自定义颜色">
|
|
35
|
-
<section>
|
|
36
|
-
<ColoringAvatar name="Ashun" :bg-attr="bgAttr" />
|
|
37
|
-
<van-space>
|
|
38
|
-
<van-button
|
|
39
|
-
size="small"
|
|
40
|
-
type="primary"
|
|
41
|
-
v-for="item in changeBgAttrList"
|
|
42
|
-
:key="item.value"
|
|
43
|
-
:color="item.value"
|
|
44
|
-
@click="setBgAttr(item.value)"
|
|
45
|
-
>
|
|
46
|
-
{{ item.desc }}
|
|
47
|
-
</van-button>
|
|
48
|
-
</van-space>
|
|
49
|
-
</section>
|
|
50
|
-
</demo-block>
|
|
51
|
-
<demo-block title="自定义文字大小">
|
|
52
|
-
<section>
|
|
53
|
-
<ColoringAvatar name="Ashun" :font-size="24" />
|
|
54
|
-
</section>
|
|
55
|
-
</demo-block>
|
|
56
|
-
</template>
|
|
57
|
-
|
|
58
|
-
<script setup lang="ts">
|
|
59
|
-
import { ColoringAvatar } from '@ebfe/vant-kit';
|
|
60
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
61
|
-
import { Space as VanSpace, Button as VanButton } from 'vant';
|
|
62
|
-
|
|
63
|
-
const changeBgAttrList = [
|
|
64
|
-
{
|
|
65
|
-
desc: '黑色',
|
|
66
|
-
value: 'black',
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
desc: '紫色',
|
|
70
|
-
value: '#8e44ad',
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
desc: '粉色',
|
|
74
|
-
value: 'pink',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
desc: '土豪金',
|
|
78
|
-
value: 'linear-gradient(90deg, #b35b1d, #d97b2e, #d97b2e, #ffb86b, #d97b2e, #d97b2e, #b35b1d)',
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
const [bgAttr, setBgAttr] = useWrapperRef(changeBgAttrList[3].value);
|
|
82
|
-
</script>
|
|
83
|
-
|
|
84
|
-
<style scoped lang="less">
|
|
85
|
-
section {
|
|
86
|
-
padding: 0px 16px;
|
|
87
|
-
display: flex;
|
|
88
|
-
flex-direction: column;
|
|
89
|
-
justify-content: center;
|
|
90
|
-
align-items: center;
|
|
91
|
-
gap: 12px;
|
|
92
|
-
|
|
93
|
-
.desc {
|
|
94
|
-
font-size: 12px;
|
|
95
|
-
align-self: flex-start;
|
|
96
|
-
color: #aaa;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
</style>
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## API
|
|
103
|
-
|
|
104
|
-
### Props
|
|
105
|
-
|
|
106
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
107
|
-
| -------- | ------------ | ------ | ------ |
|
|
108
|
-
| size | 头像尺寸(px) | number | 36 |
|
|
109
|
-
| fontSize | 文字大小(px) | number | 14 |
|
|
110
|
-
| bgAttr | 背景色属性 | string | - |
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
# DatePicker
|
|
2
|
-
|
|
3
|
-
### 介绍
|
|
4
|
-
|
|
5
|
-
主要基于 vant 的 popup、date-picker 组件进行二次封装,方便处理时间选择的需求场景。
|
|
6
|
-
|
|
7
|
-
- 支持传入所有 [date-picker props](https://vant-ui.github.io/vant/#/zh-CN/date-picker#props)
|
|
8
|
-
- 支持暴露所有 [date-picker slots](https://vant-ui.github.io/vant/#/zh-CN/date-picker#slots)
|
|
9
|
-
|
|
10
|
-
**主要功能描述**
|
|
11
|
-
|
|
12
|
-
- 支持自定义触发器
|
|
13
|
-
- 支持自定义展示值
|
|
14
|
-
- 支持更改 picker 打开时默认选中的值(modelValue 有值,则以modelValue 为准)
|
|
15
|
-
|
|
16
|
-
**对开发者的解脱**
|
|
17
|
-
|
|
18
|
-
- 符合 ui 设计
|
|
19
|
-
- 默认处理选项的 formatter
|
|
20
|
-
- 打开收起逻辑的编写
|
|
21
|
-
- 对所选项 `真实值`、`展示值` 的隔离和处理
|
|
22
|
-
|
|
23
|
-
## 代码演示
|
|
24
|
-
|
|
25
|
-
### 基础用法
|
|
26
|
-
|
|
27
|
-
```html
|
|
28
|
-
<template>
|
|
29
|
-
<DatePicker v-model="modelValue" :picker-props="{ title: '基础用法' }">
|
|
30
|
-
<template #trigger="{ triggerPopupShow, showValue }">
|
|
31
|
-
<div class="trigger-box">
|
|
32
|
-
<p>value:{{ modelValue }}</p>
|
|
33
|
-
<p>showValue:{{ showValue }}</p>
|
|
34
|
-
<van-button @click="triggerPopupShow"> trigger </van-button>
|
|
35
|
-
</div>
|
|
36
|
-
</template>
|
|
37
|
-
</DatePicker>
|
|
38
|
-
</template>
|
|
39
|
-
|
|
40
|
-
<script setup lang="ts">
|
|
41
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
42
|
-
import { DatePicker } from '@ebfe/vant-kit';
|
|
43
|
-
import { Button as VanButton } from 'vant';
|
|
44
|
-
|
|
45
|
-
const [modelValue] = useWrapperRef('');
|
|
46
|
-
</script>
|
|
47
|
-
|
|
48
|
-
<style scoped lang="less">
|
|
49
|
-
.trigger-box {
|
|
50
|
-
display: flex;
|
|
51
|
-
flex-direction: column;
|
|
52
|
-
justify-content: center;
|
|
53
|
-
align-items: center;
|
|
54
|
-
}
|
|
55
|
-
</style>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 格式化展示值
|
|
59
|
-
|
|
60
|
-
```html
|
|
61
|
-
<template>
|
|
62
|
-
<DatePicker
|
|
63
|
-
v-model="modelValue"
|
|
64
|
-
:show-value-formatter="(date) => dayjs(date).format('YY年MM月DD日')"
|
|
65
|
-
:picker-props="{ title: '格式化展示值' }"
|
|
66
|
-
@confirm="
|
|
67
|
-
(p) => {
|
|
68
|
-
showToast(`dayjs(date).format('YY年MM月DD日'))`);
|
|
69
|
-
console.log(p);
|
|
70
|
-
}
|
|
71
|
-
"
|
|
72
|
-
>
|
|
73
|
-
<template #trigger="{ triggerPopupShow, showValue }">
|
|
74
|
-
<div class="trigger-box">
|
|
75
|
-
<p>value:{{ modelValue }}</p>
|
|
76
|
-
<p>showValue:{{ showValue }}</p>
|
|
77
|
-
<van-button type="primary" @click="triggerPopupShow"> trigger </van-button>
|
|
78
|
-
</div>
|
|
79
|
-
</template>
|
|
80
|
-
</DatePicker>
|
|
81
|
-
</template>
|
|
82
|
-
|
|
83
|
-
<script setup lang="ts">
|
|
84
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
85
|
-
import { DatePicker } from '@ebfe/vant-kit';
|
|
86
|
-
import { Button as VanButton, showToast } from 'vant';
|
|
87
|
-
import dayjs from 'dayjs';
|
|
88
|
-
|
|
89
|
-
const [modelValue] = useWrapperRef('2030-03-04');
|
|
90
|
-
</script>
|
|
91
|
-
|
|
92
|
-
<style scoped lang="less">
|
|
93
|
-
.trigger-box {
|
|
94
|
-
display: flex;
|
|
95
|
-
flex-direction: column;
|
|
96
|
-
justify-content: center;
|
|
97
|
-
align-items: center;
|
|
98
|
-
}
|
|
99
|
-
</style>
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### 自定义 picker 打开时默认选中的值
|
|
103
|
-
|
|
104
|
-
modelValue 有值,则以 modelValue 为准
|
|
105
|
-
|
|
106
|
-
```html
|
|
107
|
-
<template>
|
|
108
|
-
<DatePicker ref="DatePickerRef" v-model="modelValue" :picker-props="{ title: '设置 picker 默认选中项' }">
|
|
109
|
-
<template #trigger="{ triggerPopupShow, pickerRealtimeOptions, showValue }">
|
|
110
|
-
<div class="trigger-box">
|
|
111
|
-
<p>value:{{ modelValue }}</p>
|
|
112
|
-
<p>showValue:{{ showValue }}</p>
|
|
113
|
-
<p>picker 实时选中值:{{ pickerRealtimeOptions }}</p>
|
|
114
|
-
<p>(modelValue 有值,则以 modelValue 为准)</p>
|
|
115
|
-
<van-space>
|
|
116
|
-
<van-button type="primary" @click="triggerPopupShow"> trigger </van-button>
|
|
117
|
-
<van-button type="warning" @click="() => DatePickerRef?.setPickerRealtimeDate('2035-05-06')">
|
|
118
|
-
2035-05-06
|
|
119
|
-
</van-button>
|
|
120
|
-
</van-space>
|
|
121
|
-
</div>
|
|
122
|
-
</template>
|
|
123
|
-
</DatePicker>
|
|
124
|
-
</template>
|
|
125
|
-
|
|
126
|
-
<script setup lang="ts">
|
|
127
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
128
|
-
import { DatePicker } from '@ebfe/vant-kit';
|
|
129
|
-
import { ref } from 'vue';
|
|
130
|
-
import { Button as VanButton, Space as VanSpace } from 'vant';
|
|
131
|
-
|
|
132
|
-
const [modelValue] = useWrapperRef('2030-03-04');
|
|
133
|
-
const DatePickerRef = ref<InstanceType<typeof DatePicker>>();
|
|
134
|
-
</script>
|
|
135
|
-
|
|
136
|
-
<style scoped lang="less">
|
|
137
|
-
.trigger-box {
|
|
138
|
-
display: flex;
|
|
139
|
-
flex-direction: column;
|
|
140
|
-
justify-content: center;
|
|
141
|
-
align-items: center;
|
|
142
|
-
}
|
|
143
|
-
</style>
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### 支持所有 date-picker props
|
|
147
|
-
|
|
148
|
-
例如设置 columnsType 为: 月日
|
|
149
|
-
|
|
150
|
-
```html
|
|
151
|
-
<template>
|
|
152
|
-
<DatePicker v-model="modelValue" :picker-props="{ title: '基础用法', columnsType: ['month', 'day'] }">
|
|
153
|
-
<template #trigger="{ triggerPopupShow, showValue }">
|
|
154
|
-
<div class="trigger-box">
|
|
155
|
-
<p>value:{{ modelValue }}</p>
|
|
156
|
-
<p>showValue:{{ showValue }}</p>
|
|
157
|
-
<van-button @click="triggerPopupShow"> trigger </van-button>
|
|
158
|
-
</div>
|
|
159
|
-
</template>
|
|
160
|
-
</DatePicker>
|
|
161
|
-
</template>
|
|
162
|
-
|
|
163
|
-
<script setup lang="ts">
|
|
164
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
165
|
-
import { DatePicker } from '@ebfe/vant-kit';
|
|
166
|
-
import { Button as VanButton } from 'vant';
|
|
167
|
-
|
|
168
|
-
const [modelValue] = useWrapperRef('');
|
|
169
|
-
</script>
|
|
170
|
-
|
|
171
|
-
<style scoped lang="less">
|
|
172
|
-
.trigger-box {
|
|
173
|
-
display: flex;
|
|
174
|
-
flex-direction: column;
|
|
175
|
-
justify-content: center;
|
|
176
|
-
align-items: center;
|
|
177
|
-
}
|
|
178
|
-
</style>
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### 支持所有 date-picker slots
|
|
182
|
-
|
|
183
|
-
例如设置 columns-top
|
|
184
|
-
|
|
185
|
-
```html
|
|
186
|
-
<template>
|
|
187
|
-
<DatePicker v-model="modelValue" :picker-props="{ title: '基础用法' }">
|
|
188
|
-
<template #trigger="{ triggerPopupShow }">
|
|
189
|
-
<div class="trigger-box">
|
|
190
|
-
<van-button @click="triggerPopupShow"> trigger </van-button>
|
|
191
|
-
</div>
|
|
192
|
-
</template>
|
|
193
|
-
<template #columns-top>
|
|
194
|
-
<div class="columns-top-bar">
|
|
195
|
-
<span>这里是 columns-top 插槽内容</span>
|
|
196
|
-
</div>
|
|
197
|
-
</template>
|
|
198
|
-
</DatePicker>
|
|
199
|
-
</template>
|
|
200
|
-
|
|
201
|
-
<script setup lang="ts">
|
|
202
|
-
import { useWrapperRef } from '@ebfe/vhooks';
|
|
203
|
-
import { DatePicker } from '@ebfe/vant-kit';
|
|
204
|
-
import { Button as VanButton } from 'vant';
|
|
205
|
-
|
|
206
|
-
const [modelValue] = useWrapperRef('');
|
|
207
|
-
</script>
|
|
208
|
-
|
|
209
|
-
<style scoped lang="less">
|
|
210
|
-
.trigger-box {
|
|
211
|
-
display: flex;
|
|
212
|
-
flex-direction: column;
|
|
213
|
-
justify-content: center;
|
|
214
|
-
align-items: center;
|
|
215
|
-
}
|
|
216
|
-
.columns-top-bar {
|
|
217
|
-
display: flex;
|
|
218
|
-
justify-content: center;
|
|
219
|
-
align-items: center;
|
|
220
|
-
}
|
|
221
|
-
</style>
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## API
|
|
225
|
-
|
|
226
|
-
### Props
|
|
227
|
-
|
|
228
|
-
TDatePickerProps
|
|
229
|
-
|
|
230
|
-
| 参数 | 说明 | 类型 | 默认值 |
|
|
231
|
-
| ------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------- | ------ |
|
|
232
|
-
| modelValue | 值 | string | - |
|
|
233
|
-
| pickerProps | [date-picker props](https://vant-ui.github.io/vant/#/zh-CN/date-picker#props) | `Partial<DatePickerProps>` | - |
|
|
234
|
-
| showValueFormatter | 自定义展示值 | `showValueFormatter?: (date?: Date) => string` | - |
|
|
235
|
-
|
|
236
|
-
### Slots
|
|
237
|
-
|
|
238
|
-
支持暴露所有 [date-picker slots](https://vant-ui.github.io/vant/#/zh-CN/date-picker#slots)
|
|
239
|
-
|
|
240
|
-
| 插槽名 | 说明 | 参数 |
|
|
241
|
-
| ------- | ------ | ------------------------------------------------------- |
|
|
242
|
-
| trigger | 触发器 | `{ triggerPopupShow, showValue, pickerRealtimeOptions}` |
|
|
243
|
-
|
|
244
|
-
### 方法
|
|
245
|
-
|
|
246
|
-
| 方法名 | 说明 | 类型 |
|
|
247
|
-
| :-------------------- | :--------------------------------------------------------------------- | :--------------------------- |
|
|
248
|
-
| setPickerRealtimeDate | 设置 picker 打开时默认选中的值(modelValue 有值,则以modelValue 为准) | `(newValue: string) => void` |
|