element-plus日歷(Calendar)動(dòng)態(tài)渲染以及避坑指南
效果圖
實(shí)戰(zhàn)代碼
<template> <el-calendar> <template #date-cell="{ data }"> <el-row :class="data.isSelected ? 'is-selected' : 'sds'"> {{ data.day.split('-').slice(1).join('-') }} {{ data.isSelected ? '??' : '' }} </el-row> <div v-for="(item, index) in textContent(data.day)" :key="index"> <e-row> <el-col class="center"> <el-tag type="warning" class="tag"> <el-row v-if="item.xianyue == 0"> <el-col :span="17" class="tag"> <span>當(dāng)日限約</span> </el-col> <el-col :span="1"></el-col> <el-col :span="6" class="tag2"> <span>0</span> </el-col> </el-row> <el-row v-else> <el-col :span="17" class="tag"> <span>當(dāng)日限約</span> </el-col> <el-col :span="1"></el-col> <el-col :span="6" class="tag2"> <span>{{ item.xianyue }}</span> </el-col> </el-row> </el-tag> </el-col> </e-row> <el-row style="margin-top: 10px" class="yuyue" v-if="item.yiyue && item.sy == 0" > <el-col :span="11" class="center"> <span>已約</span ><span class="center2" style="">0</span></el-col > <el-col :span="2" class="center">|</el-col> <el-col :span="11" class="center"> <span>剩余</span><span class="center2">0</span></el-col > </el-row> <el-row style="margin-top: 10px" class="yuyue" v-else> <el-col :span="11" class="center"> <span>已約</span ><span class="center2" style="">{{ item.yiyue }}</span></el-col > <el-col :span="2" class="center">|</el-col> <el-col :span="11" class="center"> <span>剩余</span ><span class="center2">{{ item.sy }}</span></el-col > </el-row> </div> </template> </el-calendar> </template> <style> .is-selected { color: #1989fa; } </style> <style scoped > :deep .el-calendar__body { padding: 4px 20px 35px; } :deep .el-calendar-table thead th { color: #ffab11; font-weight: bold; font-size: 25px; } .tag { display: flex; align-items: center; height: 2.5vh; justify-content: center; } .tag2 { display: flex; align-items: center; height: 2.5vh; justify-content: center; font-size: 18px; } .aaa .is-selected .yuyue { color: #ffab11; } .aaa .datastyle { display: flex; justify-content: center; align-items: center; font-size: 3rem; color: #353636; font-weight: 600; } :deep .el-calendar-table .el-calendar-day:hover { background-color: #faecd8; } :deep .el-calendar { --el-calendar-selected-bg-color: #faecd8; } .aaa .is-selected .datastyle { color: #ffab11; } .aaa .prev .datastyle { color: #c4c5c8; } .aaa .next .datastyle { color: #c4c5c8; } :deep .el-calendar { --el-calendar-cell-width: 130px; } .center { display: flex; justify-content: center; align-items: center; } .center2 { display: flex; justify-content: center; align-items: center; color: #ffab11; margin-left: 5px; font-size: 20px; } :deep .el-calendar__header { justify-content: center; } </style> <script setup lang="ts"> import { ref, reactive, toRefs, onMounted } from "vue"; import { ElMessage, ElMessageBox } from "element-plus"; const state = reactive({ tableData: [], //測(cè)試數(shù)據(jù) calendarData: [ { day: "2022-11-04", xianyue: 400, yiyue: 5, sy: 1, }, { day: "2022-11-05", xianyue: 500, yiyue: 5, sy: 1, }, { day: "2022-11-06", xianyue: 200, yiyue: 5, sy: 1, }, { day: "2022-11-07", xianyue: 0, yiyue: 0, sy: 0, }, ], }); //處理日期獲取后臺(tái)數(shù)據(jù)動(dòng)態(tài)渲染上去 const textContent = (date) => { //當(dāng)前date是拿到上面日歷組件當(dāng)前的日期值 根據(jù)該值去篩選測(cè)試數(shù)據(jù)找到對(duì)應(yīng)各個(gè)日期下對(duì)應(yīng)的數(shù)據(jù)return出去 console.log(date, 1111); return state.calendarData.filter((item) => { return date === item.day; }); }; </script>
避坑-插槽不生效
#dateCell 駝峰書寫
總結(jié)
到此這篇關(guān)于element-plus日歷(Calendar)動(dòng)態(tài)渲染以及避坑的文章就介紹到這了,更多相關(guān)element-plus日歷動(dòng)態(tài)渲染內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- element-plus+Vue3實(shí)現(xiàn)表格數(shù)據(jù)動(dòng)態(tài)渲染
- vue+elementUI組件遞歸實(shí)現(xiàn)可折疊動(dòng)態(tài)渲染多級(jí)側(cè)邊欄導(dǎo)航
- vue element 中的table動(dòng)態(tài)渲染實(shí)現(xiàn)(動(dòng)態(tài)表頭)
- 詳解VUE Element-UI多級(jí)菜單動(dòng)態(tài)渲染的組件
- vue element動(dòng)態(tài)渲染、移除表單并添加驗(yàn)證的實(shí)現(xiàn)
- VUE2.0+ElementUI2.0表格el-table循環(huán)動(dòng)態(tài)列渲染的寫法詳解
- Vue+ElementUI實(shí)現(xiàn)表單動(dòng)態(tài)渲染、可視化配置的方法
- Element-Plus實(shí)現(xiàn)動(dòng)態(tài)渲染圖標(biāo)的示例代碼
相關(guān)文章
修改el-form-item中的label里面的字體邊距或者大小問(wèn)題
這篇文章主要介紹了修改el-form-item中的label里面的字體邊距或者大小問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue中使用v-print打印出現(xiàn)空白頁(yè)問(wèn)題及解決
這篇文章主要介紹了Vue中使用v-print打印出現(xiàn)空白頁(yè)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09vue如何處理base64格式文件pdf及圖片預(yù)覽功能
這篇文章主要給大家介紹了關(guān)于vue如何處理base64格式文件pdf及圖片預(yù)覽功能的相關(guān)資料,圖片的base64編碼就是可以將一副圖片數(shù)據(jù)編碼成一串字符串,使用該字符串代替圖像地址,需要的朋友可以參考下2024-05-05vue項(xiàng)目中請(qǐng)求數(shù)據(jù)特別多導(dǎo)致頁(yè)面卡死的解決
這篇文章主要介紹了vue項(xiàng)目中請(qǐng)求數(shù)據(jù)特別多導(dǎo)致頁(yè)面卡死的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09elementUI實(shí)現(xiàn)下拉選項(xiàng)加多選框的示例代碼
因產(chǎn)品需求和UI樣式調(diào)整,本文主要實(shí)現(xiàn)elementUI下拉選項(xiàng)加多選框的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10解決Vue 刷新頁(yè)面導(dǎo)航顯示高亮位置不對(duì)問(wèn)題
這篇文章主要介紹了解決Vue 刷新頁(yè)面導(dǎo)航顯示高亮位置不對(duì)問(wèn)題,本文圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12