elementUI 中日历自定义内容 配置具体内容

效果图如下:

 

 

 代码如下:

<template>
	<div class="con-main">
		
		<div class="con-list">
			<!-- 日历 -->
			<el-calendar>
				<!-- 插槽 -->
				<template slot="dateCell" slot-scope="{date, data}">
					<!--  date	单元格代表的日期  data { type, isSelected, day},type 表示该日期的所属月份,可选值有 prev-month,current-month,next-month;isSelected 标明该日期是否被选中;day 是格式化的日期,格式为 yyyy-MM-dd-->
					<div>
						<!-- 这里加了周六周天的判断 -->
						<div :class="(date.getDay()==6 || date.getDay()==0)?'weeked' :'notweeked'">{{data.day}}</div>
						<!-- 数组循环 -->
						<div class="cell" v-for="(item,index) in tableData" >
							<!-- 加数据 -->
							<div v-if="data.day == item.day">
								<div v-for="(it,iIndex) in tableData[index].info">
									<div class="info">
										<i class="el-icon-info"></i>
										<b>【{{it.name}}】 </b>
									</div>
								</div>
							</div>
						</div>
					</div>
				</template>
			</el-calendar>
		</div>
	</div>
</template>

<script>
	export default {
		data() {
			return {
				tableData: [
					{
						day:'2022-11-01',
						info:[
							{
								all:' all1',
								name: 'name1',
							},
							{
								all:'all2',
								name: 'name1',
							},
						],
					},
					
				],
			}
		},
		created() {},
		mounted() {
		},
		methods: {
		}
	}
</script>

<style lang="scss" scoped>
	div ::v-deep th.gutter {
		display: initial;
	}
	div ::v-deep .el-calendar-day{
		min-height: 110px;
		height: inherit !important;
		position: relative;
		z-index: inherit;
	}
	.notweeked{
		padding: 5px;
		text-align: center;
		background-color: #f1f6fb;
		color: #354158;
	}
	.weeked{
		padding: 5px;
		text-align: center;
		background-color: rgba(255,0,0,.1);
	}
</style>

  其中样式中的 div ::v-deep .el-calendar-day 设置了最小高度。

  周末加了样式区分。

posted @ 2022-11-08 12:05  烂笔头~  Views(1643)  Comments(0Edit  收藏  举报