1.0.2 • Published 6 years ago

vm-calendar v1.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

vm-calendar

这是一个基于vue 2.X的日历组件

预览

Alt text Alt text

目前功能:

1、显示所有月份或者单月

2、全局设定每天的描述,也可单独设置

3、暂只支持头部插槽

4、支持单选或多选

快速开始

第一步:

npm install vm-calendar --save

第二步,在你的vue页面里

<script>
import VmCalendar from "vm-calendar";

export default {
    components: {
        VmCalendar
    }
}
</script>

第三步,加载模板:

<vm-calendar 
    :labels="labels"
    :config="config"
    @change="calendarChange"
    @cancel="calendarCancel"
    @confirm="calendarConfirm"
/>

props参数

参数名称类型默认值说明
labelsobject
labels.yearstring
labels.monthstring
labels.confirmstring确认
labels.cancelstring取消
labels.titlestring选择日期
labels.weeksarray'日','一','二','三','四','五','六'
configobject
config.spreadbooleantrue是否显示所有月份
config.fillbooleanfalse每月是否填充完整
config.multipleSelectbooleanfalse是否多选
config.headerFixedbooleantrue头部固定定位
config.startYearMonthstring当前年月开始日期 支持 yyyy-MM 、yyyy/MM、 yyyy,MM
config.endYearMonthstring当前年月加一年结束日期 支持 yyyy-MM 、yyyy/MM、 yyyy,MM
config.defaultYearMonthstring当前年月默认日期 支持 yyyy-MM 、yyyy/MM、 yyyy,MM
config.customDaysarray[]自定义日期 { year: 2018,month: 8,date: 2,disabled: true,selected: false,desc: '禁用' }
config.cancelBtnColorstring#F58400取消按钮颜色
config.confirmBtnColorstring#F58400确认按钮颜色
config.globalDescstring全局desc

事件

名字参数说明
change{ value }选中日期发生改变时触发
cancel取消触发
confirm{ value }确认触发

插槽

名字参数说明
headerslot-scope="{header}"用来替换头部区域

demo

<template>
    <div class="panel-calendar">
        <vm-calendar 
            :labels="labels"
            :config="config"
            @change="calendarChange"
            @confirm="getSelectDate"
        />
    </div>
</template>

<script>
    import VmCalendar from "vm-calendar"
    export default {
        components: {
            VmCalendar
        },
        mixins: [],
        data (){
            return {
                labels:{
                    weeks: ['周日','周一','周二','周三','周四','周五','周六']
                },
                config:{
                    startYearMonth: '2019/02',
                    endYearMonth: '2018,07',
                    spread: true,
                    fill: false,
                    multipleSelect: true,
                    customDays: [
                        {
                            year: 2018,
                            month: 8,
                            date: 1,
                            disabled: true,
                            desc: '<span style="color:blue;">啊</span><span style="color:red;">哈</span>'
                        },
                        {
                            year: 2018,
                            month: 8,
                            date: 2,
                            disabled: true,
                            desc: '禁用'
                        },
                        {
                            year: 2018,
                            month: 8,
                            date: 31,
                            disabled: true,
                            desc: '哈哈'
                        }
                    ]
                }
            }
        },
        methods: {
            calendarChange(value){
                console.log(value)
            },
            getSelectDate(value){
                console.log(value)
            }
        }
    }
</script>

<style>
</style>

License

MIT

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago