AntD 日历有跨月显示问题,试了好久没有找到好办法:
后采用了这办法:
<div :class="getCellClass(current)" v-if="isCurrentMonth(current)">
v-if 判断 只显示当前一个月:
// 确定当前日期是否属于选中的月份
const isCurrentMonth = (current: Dayjs) => {
return current.isSame(value.value, 'month');
};
另外: <Calendar v-model:value="value" :validRange="[monthStart, monthEnd]">
通过monthStart, monthEnd,开以选择一范围,一个月,两个月,三个月:
// 获取当前月份前一个月的第一天和后一个月的最后一天
const monthStart = computed(() => {
const start = value.value.subtract(1, 'month').startOf('month');
// console.log("前一个月的月初:", start.toString());
return start;
});
const monthEnd = computed(() => {
const end = value.value.add(1, 'month').endOf('month');
// console.log("后一个月的月末:", end.toString());
return end;
});
这个可以选择三个月