适配mpvue平台的的微信小程序日历组件mpvue-calendar

本文介绍了一款基于vue-calendar的mpvue平台微信小程序日历组件。提供了详细的配置选项,如自定义月份、星期、选中日期等,并支持多种模式:普通、范围选择和多选。还介绍了如何通过事件监听实现日期选择等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mpvue-calendar

基于vue-calendar的适配mpvue平台的的微信小程序日历组件

预览

比邻binlive

安装

npm i mpvue-calendar

使用

  • import Calendar from 'mpvue-calendar' 引入组件
  • components中注册组件Calendar
  • template中使用组件<Calendar />

参数及方法

参数or方法类型说明
monthsArray自定义月份,不传默认为中文一到十二月
weeksArray自定义星期,不传默认为中文日到六
valueArray默认选中日期
beginArray限制开始日期,不传则不限制
endArray限制结束日期,不传则不限制
disabledArray禁用日期
eventsObject自定义备注
lunarBoolean是否显示农历,默认为false
cleanBoolean是否为简洁模式,简洁模式下自定义备注会显示为圆点,默认为false
rangeBoolean是否为范围模式,默认为false
multiBoolean是否为多选模式,默认为false
select(val, val2)function日期选中事件,在range模式下val为开始日期、val2为结束日期,其他val为选中日期
setToday()function返回今日
selectYear(val)function选择年份事件,val为选中的年份
prev(val)function选择上一月事件,val为月份
next(val)function选择下一月事件,val为月份
  • value 参数

在普通模式下value为一维数组如2018年6月21为[2018,6,21]
在range和multi模式下value为二维数组,如range模式选中2018年6月21到6月28为[[2018,6,21], [2018,6,28]]

  • events 参数

events为自定义备注,例如备注2018年6月21日为{'2018-6-21': '今日备注', '2018-6-22':'明日备注'},在clean模式下备注为圆点,lunar农历模式下不显示备注

  • disabled 参数

disabled为禁用日期,如禁用2018-6-21日为['2018-6-21']

示例

<template>
  <div>
    <Calendar
      :months="months"
      :value="value"
      @next="next"
      @prev="prev"
      :events="events"
      lunar
      clean
      @select="select"
      ref="calendar"
      @selectMonth="selectMonth"
      @selectYear="selectYear"
    />
    <button @click="setToday">返回今日</button>
  </div>
</template>

<script>
import Calendar from 'mpvue-calendar'

export default {
  data () {
    return {
      months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
      disabledarr: ['2018-6-27','2018-6-25'],
      value: [2018,6,7],
      begin:[2016,1,1],
      end:[2020,1,1],
      events: {'2018-6-7':'今日备注', '2018-6-8':'一条很长的明日备注'},
    }
  },
  components: {
    Calendar
  },
  methods: {
    selectMonth(month,year){
      console.log(year,month)
    },
    prev(month){
      console.log(month)
    },
    next(month){
      console.log(month)
    },
    selectYear(year){
      console.log(year)
    },
    setToday(val,val1,val2) {
      this.$refs.calendar.setToday();
    },
    select(val, val2) {
      console.log(val)
      console.log(val2)
    }
  }
}
</script>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值