0.7.0 • Published 3 years ago

@pigsking/vue-mark-calendar v0.7.0

Weekly downloads
14
License
MIT
Repository
github
Last release
3 years ago

vue-mark-calendar

一个基于 Vue 2.x 开发的日历标记组件,版本记录请在更新日志中查看。

:interrobang: Important

:package: Install

npm install @pigsking/vue-mark-calendar
//or
yarn add @pigsking/vue-mark-calendar

:grey_question: Usage

// main.js
import Vue from 'vue'
import Calendar from '@pigsking/vue-mark-calendar'

Vue.use(Calendar)

:open_book: API

具体使用方法请查看具体相关示例

Props

markers

  • Type: Array
  • Usage:
<Calendar :markers="markers" />
export default{
    data(){
        return{
             markers: [
                {
                    date: "2020/12/20",
                    className: "dream",
                },
            ],
        }
    }
}

需要标记的天数

multiDayMarkers

  • Type: Boolean
  • Default: false
  • Usage:
<Calendar :multiDayMarkers="multiDayMarkers" />
export default{
    data(){
        return{
             multiDayMarkers: [
                {
                    startDate: "2020/11/10",
                    endDate: "2020/11/20",
                    className: "dream",
                },
             ]
        }
    }
}

一次标记多天

sundayBegin

  • Type: Boolean
  • Default: false
  • Usage:
<Calendar sundayBegin />

设置一周的开始为星期天

hideOtherMonthDay

  • Type: Boolean
  • Default: false
  • Usage:
<Calendar hideOtherMonthDay />

隐藏其它月份的天数

hideOtherMonthMarker

  • Type: Boolean
  • Default: false
  • Usage:
<Calendar hideOtherMonthMarker />

隐藏其它月份的标记

disabledFutureDay

  • Type: Boolean
  • Default: false
  • Usage:
<Calendar disabledFutureDay />

设置未来的天数不可点击

format

  • Type: String
  • Default: "YYYY/MM/DD"
  • Usage:
<Calendar format="YYYY-MM-DD" />

日期格式化形式,目前只支持 "YYYY/MM/DD"、"YYYY/M/D"、"YYYY-MM-DD"、"YYYY-M-D"

weekText

  • Type: Array
  • Default: ["一", "二", "三", "四", "五", "六", "日"]
  • Usage:
<Calendar :weekText="['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']" />

周几的文字描述

hideMarker

  • Type: Boolean
  • Usage:
<Calendar hideMarker />

隐藏所有的标记

todayText

  • Type: String
  • Usage:
<Calendar todayText="今" />

周几的文字描述

disabledSwitchMonth

  • Type: Boolean
  • Default: false
  • Usage:
<Calendar disabledSwitchMonth />

禁用月份切换

Methods

chooseDate()

  • Arguments: {String} date string
  • Usage:
<Calendar ref="calendar" />
export default{
   mounted(){
       // 回到今天
       this.$refs.calendar.chooseDate()

       // 选中指定日期
       this.$refs.calendar.chooseDate('2020/12/20')
   }
}

选中某天,传参数时选中所传日期,不传参数时选中当天

getDateObj()

  • Arguments: {String} date string
  • Usage:
<Calendar ref="calendar" />
export default{
   mounted(){
       // 获取今天对象
      const todayInfo = this.$refs.calendar.getDateObj()

       // 选中指定日期对象
      const dayInfo = this.$refs.calendar.getDateObj('2020/12/20')
   }
}

获取日期对象,传参数时选中所传日期的对象,不传参数时获取当天日期对象

Events

date

  • Usage:
<Calendar @date="handleChooseDay($event)" />
export default{
   methods(){
       handleChooseDay(dayInfo){
        // dayInfo   
        // {
        //     "day":14, // 一个月中的第几天
        //     "date":"2020/02/14", // 该天日期
        //     "week":6, // 星期几
        //     "timestamp":1581609600, // 该天时间戳
        //     "isOtherMonthDay":false, // 该天是否为非本月
        //     "isFutureDay":false, // 该天是否为未来的天数
        //     "isToday":false // 某月中的某天是否为当天     
        // }
       }
   }
}

点击某天时的回调

Classes

组件默认类名:

  • choose-day:某天被选中
  • weekend-day:某天为周末
  • future-day:未来的天数
  • other-month-day:其它月份的天数
  • today: 今天

:sos: FQA

怎么自定义主题?

你可以使用深度作用选择器覆盖组件默认样式。

能在移动端网页中使用吗?

组件本身未限制最大宽度,故可根据不同屏幕尺寸自适应

:bookmark_tabs: License

:warning: 本项目采用 GLWTPL 协议, 祝你好运!

1.0.0-alpha.0

3 years ago

0.7.0

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.6.0-beta

3 years ago

0.5.0

3 years ago

0.4.0

3 years ago

0.3.7

3 years ago

0.3.6

3 years ago

0.3.5

3 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago