美文网首页
日历组件

日历组件

作者: 琳媚儿 | 来源:发表于2020-12-13 08:24 被阅读0次

页面引用日历组件

  <com-calendar
          :click-current-day="clickCurrentDay"
          :calender-data="calenderData"
     />

import comCalendar from '@/components/PSR/comCalendar.vue'

数据双向绑定,监听组件得年份和月份得变化 1613692800000 2021-02-19 08:00:00

v-model="my_data"

watch: {
    my_data(val){
      let calender_data=val.getTime()   //转换为时间戳形式
      console.warn(val.getTime())
    }
  },

comCalendar.vue

<template>
  <div class="c-cal">
    <el-calendar  v-model="my_data">
      <template
        slot="dateCell"
        slot-scope="{date, data}"
      >
        <div
          class="c-row"
          @click="clickDay(data.day.split('-')[1], data.day.split('-')[2], data)"
        >
          <div class="c-rows">
            <div
              class="c-row-text"
              :class="data.isSelected ? 'is-select' : ''"
            >{{ data.day.split('-')[2] }}
            </div>
          </div>
          <div
            v-for="(item, index) in calenderData"
            :key="index"
            class="c-tag cp-text-10"
            :class="item.day == data.day.split('-')[2] && item.month == data.day.split('-')[1] ? '' : 'c-tag-hide'"
          >{{ item.count }}
          </div>
        </div>
      </template>
    </el-calendar>
  </div>
</template>

<script>
export default {
  props: {
    addplan: {
      type: Function,
      default: null
    },
    calenderData: {
      type: Array,
      default: () => {
        return []
      }
    },
    clickCurrentDay: {
      type: Function,
      default: null
    }
  },
  data() {
    return {
      my_data: '',
      // dateList: [
      //   { mouVal: 8, dayVal: 2, value: 4 },
      //   { mouVal: 8, dayVal: 7, value: 7 },
      //   { mouVal: 8, dayVal: 12, value: '99+' },
      //   { mouVal: 8, dayVal: 16, value: 12 },
      //   { mouVal: 9, dayVal: 17, value: 9 }
      // ]
      // range_data: []
    }
  },
  watch: {
    my_data(val){
      let calender_data=val.getTime()
      localStorage.setItem('calender_data',calender_data)
      console.warn(val.getTime())
    }
  },
  mounted() {
    // this.range_data[0] = '2020-09-14'
    // this.range_data[1] = '2020-09-27'
  },
  methods: {
    clickDay(month, day, data) {
      console.log(month, day)
      console.log(data)
      if (this.clickCurrentDay) {
        this.clickCurrentDay(month, day, data)
        this.$emit('getClickDate', { month, day })
      }
      try {
        this.addplan(month, day)
      } catch (err) {
        console.log(err)
      }
    }
  }
}

相关文章

  • 高级任务3

    轮播组件曝光加载组件Tab组件日历组件Modal 组件

  • 日历组件

    1. pc日历 http://www.my97.net/dp/demo/index.htm http://tlia...

  • 日历组件

  • 日历组件

    页面引用日历组件 数据双向绑定,监听组件得年份和月份得变化 1613692800000 2021-02-19...

  • 日历组件

    日历展现形式普通文档流弹出层 isMask 灵活控制星期的排列、星期的显示格式、月份的显示格式1月 一月 Jan...

  • 日历组件

    前言:由于业务的需求,需要一个日历组件,查阅挺多组件,发现与实际业务需求有点区别,特别是后期样式修改挺麻烦的,所以...

  • pc端个性化日历实现

    一、实现日历组件 二、个性化日历使用

  • 面向对象实战

    代码预览 tab组件懒加载组件无限轮播组件无限轮播二次封装组件modal组件日历组件

  • 面向对象实战

    teb切换曝光组件轮播组件日历选择Modal代码地址

  • 面向对象 实战 -常用JS组件

    轮播组件轮播二次封装预览 曝光加载组件预览 Tab 组件预览 日历组件预览 Modal 组件预览

网友评论

      本文标题:日历组件

      本文链接:https://www.haomeiwen.com/subject/juqygktx.html