vue日历日程组件

本文介绍如何使用 Vue.js 开发一个具备回到今天、年份选择、月份及日期切换功能的日历日程组件。该组件的数据采用静态方式处理。

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

要求:开发一个日历日程组件:包含回到今天、选择年度、选择月份及日期切换等功能,数据为静态数据。

效果:

 

 

代码:

<template>
  <div class="calendar-container">
    <div class="schedule-head">
      <div class="today" @click="toToday">回到今天</div>
      <div class="select one">
        <el-select class="select" v-model="yearModel" @change="yearChange" placeholder="">
          <el-option v-for="item in years" :key="item.value" :label="item.label" :value="item.value"></el-option>
        </el-select>
      </div>
      <div class="select two">
        <el-select v-model="monthModel" @change="monthChange" placeholder="">
          <el-option v-for="item in months" :key="item.value" :label="item.label" :value="item.value"></el-option>
        </el-select>
      </div>
    </div>
    <div class="weekdays">
      <div class="item" v-for="(item,index) in weekdays" :key="index">{
  {item}}</div>
    </div>
    <div class="days">
      <div class="days-item" 
        v-for="(item,index) in days" 
        :key="index" 
        @click="daySelect(item)">
        <div class="days-con" v-if="item.year == yyyy && item.month == mm && item.name == dd" :class="item.name == dd ? 'now': ''">
          {
  {item.name}}
          <div class="circle" v-if="item.content"></div>
        </div>
        <div class="days-con" v-else :class="item.name === currentDay ? 'select': ''">
          {
  {item.name}}
          <div class="circle" v-if="item.content"></div>
        </div>
      </div>
    </div>
    <div class="schedule-list">
      <div class="title">日程安排</div>
      <div v-if="scheduleList && scheduleList.length" class="schedule">
        <div class="schedule-item">
          <el-timeline>
            <el-timeline-item class="line-item" 
              v-for="(item,index) in scheduleList" 
              :key="index"
              color="#ffffff"
              size="large">
              <div class="time">{
  {item.time}}</div>
              <div class="circle">
                <div>{
  {item.type == 1 ? '会议': ''}}</div>
              </div>
              <div class="content">
                <div class="name">{
  {item.name}}</div>
                <div class="site">
                  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值