Vue自定义日历组件

今天给大家介绍Vue的日历组件,可自定义样式、日历类型及支持扩展,可自定义事件回调、Props数据传输。

线上demo效果

示例

Template:

    <Calendar
      :sundayStart="true"
      :calendarType="1"
      :markDate="markDate"
      :markDateClass="markDateClass"
      :agoDayPrevent="agoDayPrevent"
      :futureDayPrevent="futureDayPrevent"
      @choseDay="choseDay"
      @changeMonth="changeMonth">
    </Calendar>

script:

  data() {
      return{
        calendarClass: ‘cal_common‘,
      chooseDate: ‘‘,
      showCalendar: 1,
      markDate: [‘2019/02/13‘,‘2019/02/22‘],
      markDateClass: [
        {date:‘2019/02/20‘,className:"mark1"},
        {date:‘2018/02/21‘,className:"mark2"}
      ],
      agoDayPrevent: ‘1549728000‘,
      futureDayPrevent: ‘2551024000‘,
      }
  },
  methods: {
    choseDay(date) {
      this.chooseDate = date
    },
    toggleCal(type) {
      this.showCalendar = type
    },
    changeMonth(date) {
      console.log(‘changeMonth‘+date)
    }
  }

Api

Props属性

  • markDateArray/[]  需要标记的日期
  • markDateClassArray/[]  定义标记的日期及className
  • sundayStartBoolean/true  是否以星期天开始
  • agoDayPreventString/0  某个日期前不允许点击(10时间戳)
  • futureDayPreventString/2554387200  某个日期后不允许点击
  • calendarClassString/‘‘  日历盒子的class
  • calendarTypeNumber/1  日历类型:1--默认;2--简易

Event回调

  • @choseDay(date)  选择日期执行
  • @changeMonth(date)  切换月份执行

data数据

  • textTop  日历头部星期排列
  • dateTop  日历顶部显示的当前年月
  • newList  当前月份需要显示的天数集合

原文地址:https://www.cnblogs.com/lodadssd/p/10450059.html

时间: 2024-08-13 21:40:35

Vue自定义日历组件的相关文章

vue初学实践之路——vue简单日历组件

---恢复内容开始--- 最近做的项目有一个需求,需要有一个日历组件供预定功能使用,之前的代码过于繁琐复杂,所以我采用vue重写了这个组件. npm.vue等等安装. 只是一个简单的日历组件,所以并不需要用到node服务器,只需要一个Html文件即可. 项目基本目录 首先在引入 vue.js <script src="https://unpkg.com/vue/dist/vue.js"></script> 贴上最主要的html和js代码 <div id=&

vue自定义select组件

1.目的 看了很多element-ui的源码,决定自己实现一个简单的select组件,遇到的几个难点,便记录下来. 2.难点一 element-ui中的select组件通过v-model可以绑定数据,但在我平时用v-model只是在input中使用过,只知道v-model可以双向绑定数据,但并不清楚其中的实现过程,所以 需要清晰的了解v-model是什么,如下. <input v-model="test"/> <input :value="test"

教你撸一个简单的Vue自定义动态组件

components下创建 toast 文件夹, 文件夹里面创建 toast.vue 和 index.js toast.vue: <template> <div id="toastWrap" :class="[className,showAnimation ?'fadein':'fadeout',appointId==''?'fixed':'absolute']" v-if="show"> <span :class=

vue自定义分页组件---切图网

vue2.5自定义分页组件 Pagination.vue,可设置每页显示条数,带跳转框直接跳转到相应页面,亲测有用.目前很多框架自带有分页组件比如elementUI,不过在面对一个拿到PSD稿,然后重新切图,重新VUE开发的项目来说,自定义分页组件才是应万变的最佳打开方式. html <template> <div class="pagination" v-if="totalPage>1"> <span v-if="!s

使用vue实现日历组件的封装

前言 因项目的需要,而且当前组件库并不支持业务,所以,重新对日历组件进行封装.该篇博客就对实现日历的思路进行存档,方便以后的查阅. 先上图:UI小哥哥的原型图.接下来的思路都是根据该图进行解说 逻辑 1.组件的拆分,分出哪些是业务,哪些是基础组件. 整体来说,这就是在日历的基础上添加业务,所以日历组件应该是基础组件,而业务应该是通过插槽插入进去的.那么,右上方的分入分出合计以及每个日历中的分入,分出都是需要插入的.其余的均是日历本身的功能. 2.那么接下来,我们先完成日历组件的封装,首先,我们要

基于vue的自定义日历组件

如果本文帮助到你,本人不胜荣幸,如果浪费了你的时间,本人深感抱歉.希望用最简单的大白话来帮助那些像我一样的人.如果有什么错误,请一定指出,以免误导大家.也误导我. 项目github地址 线上demo地址 使用步骤: 1.安装包 cnpm i 2.运行dev npm run dev 项目目录: 自定义农历节日: yinli_festival.json { "01-06":"阴历节1", "01-10":"阴历节2", "

vue自定义日期组件

vue-datepicker 基于 vuejs 2.x 可自定义主题的日期组件 github Usage 只需要在项目中加入 calendar.vue,就可以使用了. 向组件传入 prop 即可改变 calendar 的样式 Props type(String): 默认 single(选择单天),可选 range(选择多天) / time(选择单天 + 时间) isAbandon(Boolean): 默认 true,早于系统日期的日期选项是否不可选 showInput(Boolean): 默认

vue 自定义模版组件

vue的组件可以自定义内容,属性 又有slot作配合 可以做出很多自定义模版 例子 <body> <div id="app"> <m-modal modal-title="提醒" @on-ok="ok"></m-modal> <m-modal> <ul slot="modal-content"> <li v-for="item of lis

vue 自定义image组件

介绍 1:当图片加载失败时,给出错误提示. 2:当图片加载中时,给出加载提示. 3:图片处理模式:等比缩放/裁剪/填充/... 1.图片加载状态处理 通过给图片绑定load事件与error事件处理函数来判断图片加载状态.当图片加载完成时会触发load事件:图片加载出错会触发error事件 // 样本 <img src="..." @load=onLoad @error=onError> 2.图片模式 通过css属性 object-fit(https://developer.