参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
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>