el-calendar日历自定义显示内容

版本信息:

 之前我整理了一篇VUE+Element-ui实战之el-calendar日历自定义显示内容

有码友在评论区里分享了更简介的方式,看到后一直想尝试一下,所以本篇就是来 填坑

 按照提供的思路我尝试了一下,现将全部代码贴出来,以供大家交流

<template>
    <!--日历自定义显示内容-->
    <div class="main_con">
        <div style="text-align: left;">
            <H2>施工日志</H2>
            <el-divider></el-divider>
        </div>

        <el-calendar>
            <template slot="dateCell" slot-scope="{date, data}">
                {{ data.day.split('-').slice(1).join('-') }}
                <el-tag type="danger" v-if="scheduleData[data.day]">
                    {{scheduleData[data.day].content}}
                </el-tag>
                <!-- </div> -->
            </template>
        </el-calendar>
    </div>
</template>
 
<script>
export default {
    name: "PatrolSchedule",
    components: {},
    data() {
        return {
            scheduleData: {
                "2022-08-01": { content: "土方开挖" },
                "2022-08-08": { content: "地基验坑" },
                "2022-08-11": { content: "地基回填" },
                "2022-08-22": { content: "基础垫层膜" },
                "2022-08-26": { content: "基础垫层混凝土浇筑" },
                "2022-08-30": { content: "基础钢筋绑扎" },
            },
        };
    },
    mounted() {},
    methods: {},
};
</script>
<style scoped>
/deep/.el-calendar-day {
    box-sizing: border-box;
    padding: 5px;
    height: 80px;
}
</style>

页面显示效果如下

 

注:相比于之前的方案,少了日期的判断,直接显示数据内容

看到上边的评论里还提到“content一直未定义”,是因为日期显示时,数据里并不是每天的content都有值,所以为了避免出现这个错误,我这边加了v-if="scheduleData[data.day]"的判断。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛七分

随多随少随你心意^-^

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值