主要通过设置disabledDate来实现 disabledDate(current) { const currentTime = Number(new Date(current).getTime()); const minTime = Number(new Date("2019-12-30").getTime()); const maxTime = Number(new Date().getTime()); // 只允许选择2020年1-1日至今 if (currentTime > maxTime || currentTime < minTime) { return true; } this.currentYear = current.year(); let filterData = this.disabledData.filter((x) => { return x.month == current.month() + 1; }); if (filterData.length > 0 && filterData[0].num > 0) { return false; } else { return true; } } 这个方法中接受返回true或者false,当返回true时,表示禁用;返回false时,表示当前日期可用。 当选择月份的时候,这个方法会循环12次,因为一年中有12个月,通过current.month()以及current.year()可以获得每次循环的月份以及年份,可以通过与当前时间的比较进行判断是否可用。