需求:由于月份选择框会给默认接收的月份文本加入高亮显示,但需求要求将选中的月份标记高亮展示。
实现:使用elementUI的日期选择器提供的下拉框样式配置,并改写对应的样式实现。
懒得说话,直接上代码:
<template>
<div>
<dataPickSelf
size='mini'
v-model="scope.row.dateTime"
type="month"
:picker-options="pickerOptions"
:clearable="false"
:popper-class='dataPick'
value-format="yyyy-MM"
ref="dateMonth"
>
</dataPickSelf>
</div>
</template>
<script>
import {DatePicker} from 'element-ui';
export default {
data() {
return {
maxTime: '',
dataPick: 'monthtime',
pickerOptions:{
disabledDate: time => {
return this.timeRe(time);
},
}
}
},
components: {
dataPickSelf:DatePicker
},
methods: {
timeRe(time) {
return time.getTime() >=new Date(this.maxTime).getTime() ;
}
}
}
</script>
<style lang="less" scoped>
.monthtime .el-month-table td.current:not(.disabled) .cell{
font-weight: bold !important;
color:#182452 !important;
}
.monthtime .el-month-table td.today .cell{
color: #182452;
}
.monthtime .el-month-table td.current ~ td.today .cell{
color: #606266;
}
.monthtime .el-month-table td.current ~ td.disabled.today .cell{
color: #C0C4CC !important;
}
.monthtime .el-month-table tr td.disabled.today .cell{
color: #C0C4CC !important;
}
.monthtime .el-month-table tr td.disabled.today .cell{
color: #C0C4CC !important;
}
.monthtime .el-month-table td.today .cell {
font-weight: normal;
}
.monthtime .el-month-table td.today .cell {
color: #606266;
}
</style>
效果展示图:
默认是显示当前月,既【三月】是高亮的,选择【四月】的后,四月文本显示高亮。