在vue2中使用el-date-picker组件,它可以接受一个数组,数组内是若干日期,例如dates: ["2023-05-23", "2023-05-22", "2023-05-19"],现在希望在组件的日期下拉框中,在数组对应的日期下面添加一个蓝色的小圆点(并不影响组件的整体格式),请给出代码实例
时间: 2024-02-16 16:02:48 浏览: 69
要在el-date-picker组件的日期下拉框中添加一个蓝色的小圆点,可以通过自定义日期单元格的方式来实现。可以在组件的props中添加一个dates属性,用来接受日期数组,然后在自定义日期单元格的时候,判断当前日期是否在dates中,如果在的话,就在日期下面添加一个蓝色的小圆点。以下是一个示例代码:
```vue
<template>
<el-date-picker
v-model="date"
type="date"
:cell-class-name="cellClassName"
></el-date-picker>
</template>
<script>
export default {
data() {
return {
date: '',
dates: ["2023-05-23", "2023-05-22", "2023-05-19"]
}
},
methods: {
cellClassName({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const date = row.date.toLocaleDateString();
if (this.dates.includes(date)) {
return 'blue-dot';
}
}
}
}
}
</script>
<style scoped>
.blue-dot {
position: relative;
}
.blue-dot::before {
content: '';
position: absolute;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: blue;
bottom: -4px;
left: 50%;
transform: translateX(-50%);
}
</style>
```
在上面的代码中,我们在el-date-picker组件中添加了一个dates属性,用来接受日期数组。然后,在cellClassName方法中,我们判断当前单元格对应的日期是否在dates数组中,如果在的话,就给单元格添加一个blue-dot类,这个类用来设置蓝色的小圆点。最后,在样式中,我们定义了blue-dot类的样式,用来设置小圆点的样式。
阅读全文