<template>
<div>
<el-calendar v-model="comeTime"></el-calendar>
</div>
</template>
<script>
export default {
data() {
return {
comeTime: null,
};
},
mounted() {
this.addCalendarBodyClickListener();
},
beforeDestroy() {
this.removeCalendarBodyClickListener();
},
methods: {
addCalendarBodyClickListener() {
setTimeout(() => {
const calendarBody = this.$el.querySelector('.el-calendar__body');
if (calendarBody) {
calendarBody.addEventListener('click', this.handleCalendarBodyClick);
} else {
console.error('未找到 .el-calendar__body 元素');
}
}, 0);
},
removeCalendarBodyClickListener() {
const calendarBody = this.$el.querySelector('.el-calendar__body');
if (calendarBody) {
calendarBody.removeEventListener('click', this.handleCalendarBodyClick);
}
},
handleCalendarBodyClick(event) {
console.log('点击了 el-calendar__body');
},
},
};
</script>