| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| title | string | 否 | ’‘ | 标题 | | show | boolean | 是 | false | 弹窗显示状态 | | initValue | number[] | 否 | [] | 初始化已选中的值,0-6分别表示周日至周六 | | confirmBtn | string | 否 | ’确定’ |
确定操作文案 |
| cancelBtn | string | 否 | ‘取消’ | 取消操作文案 |
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| update:show | (show: boolean) | 更新弹窗显示状态 |
| confirm | (days: number[]) | 确认 |
| cancel | - | 取消 |
<template>
<div class="day-picker">
<span @click="onShow">开始选择日期(星期日)</span>
<p >{{daysText}}</p>
<day-picker
title="选择日期"
:show.sync="show"
:initValue="days"
@confirm="onConfirm"
@cancel="onCancel"
>
</day-picker>
</div>
</template>
<script>
import Vue from "vue";
import { DayPicker } from "genie-ui";
export default {
components: {
DayPicker,
},
data() {
return {
// 是否显示选择器
show: false,
// 初始默认选中日期
days: [1],
}
},
computed: {
daysText() {
const defaultDays = [
{ key: 0, name: '周日' },
{ key: 1, name: '周一' },
{ key: 2, name: '周二' },
{ key: 3, name: '周三' },
{ key: 4, name: '周四' },
{ key: 5, name: '周五' },
{ key: 6, name: '周六' },
]
return this.days.map(key => {
const day = defaultDays.find(item => item.key === key)
return day ? day.name : ''
})
}
},
methods: {
onShow() {
console.log('show day picker')
this.show = true
},
onConfirm(selectedDays) {
console.log('on confirm pick day', selectedDays)
this.days = selectedDays
},
onCancel() {
console.log('on cancel pick day')
},
}
};
</script>
<style scoped>
.del {
height: 100%;
width: 50px;
background: #f00;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
}
</style>