Element UI 自定义日历

Element UI 自定义日历

代码示例

HTML部分

<template>
	<el-calendar ref="calendar">
            <template #header="{ date }">
              <div style="background: #0c2035; width: 100%">
                <el-button-group>
                  <el-button size="small" @click="selectDate('prev-month')">
                    Previous Month
                  </el-button>
                  <el-button size="small" @click="selectDate('next-month')">
                    Next Month
                  </el-button>
                </el-button-group>
                <p>{{ date }}</p>
              </div>
            </template>
            <template #dateCell="{ data }">
              <div style="width: 100%; height: 100%">
                <div style="text-align: center">
                  {{ data.day.split("-").slice(2).join("") }}
                </div>
                <div style="text-align: center">
                  <span
                    class="remark-text calendar-time"
                    v-for="(item, index) in dealMyDate(data.day)"
                    :key="index"
                  >
                    {{ item }}
                  </span>
                </div>
              </div>
            </template>
          </el-calendar>
</template>

js部分

代码如下(示例):

<script>
import { ref, reactive } from "vue";
export default {
  setup(props) {
    const calendar = ref();
    const selectDate = (val) => {
      calendar.value.selectDate(val);
    };
    const resDate = reactive([
      { date: "2022-05-30", content: "10" },
      { date: "2022-05-01", content: "20" },
      { date: "2022-05-02", content: "划水" },
      { date: "2022-05-24", content: "摸鱼" },
      { date: "2022-05-25", content: "学习" },
      { date: "2022-05-26", content: "学习" },
      { date: "2022-05-27", content: "学习" },
      { date: "2022-05-28", content: "摸鱼" },
    ]);

    const dealMyDate = (v) => {
      let res = "";
      for (let index = 0; index < resDate.length; index++) {
        if (resDate[index].date == v) {
          res = resDate[index].content;
          break;
        }
      }
      return res;
    };
    return {
      dealMyDate,
      selectDate,
      calendar,
    };
};
</script>
## 效果图
效果图(https://img-blog.csdnimg.cn/e82764eb34f64f90864dcf14da52fe25.png#pic_center)



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值