Schedule 时段选择
示例
9:00–12:00 | 13:00–18:00 | ||||||||||||||||||||||
13:00–17:00 | |||||||||||||||||||||||
全天 |
<template>
<article>
<veui-schedule
v-model="selected"
:shortcuts="shortcuts"
shortcuts-display="popup"
:statuses="statuses"
/>
</article>
</template>
<script>
import { Schedule } from 'veui'
export default {
components: {
'veui-schedule': Schedule
},
data () {
return {
selected: {
0: [[0, 23]],
1: [[9, 11], [13, 17]],
3: [[13, 16]],
5: [[9, 9], [16, 17]]
},
shortcuts: [
{
label: 'Entire week',
selected: {
0: true,
1: true,
2: true,
3: true,
4: true,
5: true,
6: true
}
},
{
label: 'Weekdays',
selected: {
1: true,
2: true,
3: true,
4: true,
5: true
}
},
{
label: 'Weekends',
selected: {
0: true,
6: true
}
}
],
statuses: [
{
label: 'Selected',
name: 'selected'
},
{
label: 'Available',
name: 'available'
}
]
}
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
selected | Object | - |
已选时段。类型为 键为一周的第几天,
本例表示周一的 9:00–18:00 与周六的 0:00–3:00 和 18:00–21:00。结束时间表示的是时段最后一小时的开始时间。 |
hour-class | string|Array|Object|function | {} | 特定小时的自定义 HTML class 。传非函数时,数据格式为所有 Vue 支持的 class 表达式;传函数时,签名为 function(day: number, hour: number): string|Array<string>|Object<string, boolean> ,返回值格式亦为所有 Vue 支持的 class 表达式。 |
disabled-date | function(number, number): boolean | () => false | 特定小时是否禁用。参数类型为 (day: number, hour: number) ,分别表示一周的第几天(0 表示周日)及对应的小时数。 |
shortcuts | Array | schedule.shortcuts | 快捷选择选项列表。类型为
|
shortcuts-display | string | 'inline' | 快捷选择项的显示方式,支持 inline /popup ,分别对应内联按钮组与下拉选择。 |
statuses | Array<{label: string, value: string}> | schedule.statuses | 图例数据源。会为图例项目添加 class 值 `veui-schedule-legend-${value}` ,label 则会显示为图例文本。 |
disabled | boolean | false | 是否为禁用状态。 |
readonly | boolean | false | 是否为只读状态。 |
插槽
名称 | 描述 |
---|---|
header | 顶部区域。 |
header-content | 顶部区域的内容,不包括外层容器。 |
shortcuts | 顶部快捷选项区域。 |
legend | 顶部图例区域。 |
作用域插槽
名称 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
legend-label | 每个图例的文本区域。 默认内容:每个图例状态
另外, | |||||||||
hour | 每小时区域的内容。 默认内容:无。
| |||||||||
label | 已选时间段的区域。 默认内容:时段在 3 小时及以上时,显示时段范围
| |||||||||
tooltip | 光标移入每个小时格子的悬浮提示内容。 默认内容:当前小时格子的时间范围
|
事件
名称 | 描述 |
---|---|
select |
选中状态变化后触发,回调参数为 |
全局配置
配置项 | 类型 | 默认值 | 描述 |
---|---|---|---|
schedule.statuses | Array<{name, label}> | 见描述。 | 默认图例状态数组。数组项类型为
|