业务场景: 根据接口返回决定 “规定天数内哪些日期” 禁用,其余日期可选择
案例:接口返回数据如下,周一、二、三禁用,其余日期可选择
data() {
return {
disableDate = [
{label: '周一', value: 1},
{label: '周二', value: 2},
{label: '周三', value: 3},
],
pickerOptions : {}
}
}
created() {
_this.pickerOptions = {
disabledDate(time) {
let maxDate = new Date().getTime() + (30 * 24 * 3600 * 1000) // 例如规定天数为30天
for(let i = 0; i < disableDate.length; i++) {
if ((time.getDay() == disableDate[i].value) || ((time.getTime()) > maxDate)) {
return true
}
}
}
}
}
这里有个需要注意的点,循环中只能遍历禁用日期的数据,不能还有为禁用日期数据!!! 具体为什么还未得知,有知道的小伙伴留言哦,感谢!
效果如下,一二三禁用,并且从当前日期8.27日起往后算30天后均不能再点击
因为需求需要,所以只完成从今日起30天可点击,小伙伴们也可以自行完成,今日之前日期也均不能选择的功能哦;加油!!!