html(jsx格式)<a-range-picker
disabled-date={this.disabledDate}
v-model={[this.searchTime,'value']}
format="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
onCalendarChange={this.calendarPriceRangeChange}
onOpenChange={this.onOpenChange}/>js:let searchTime =ref([]);let disabledCurrent=ref(null);// 选择的第一个时间 用来进行计算前后要禁用天数constonOpenChange=()=>{// 清空禁用时间段的设置
disabledCurrent.value =null;};constcalendarPriceRangeChange=(dates)=>{
disabledCurrent.value = dates[0];};constdisabledDate=(current)=>{// 当前时间 current = 北京时间// 如果没有选择第一个时间 那么 默认不能选择当前以后的日期if(!disabledCurrent.value)return current >moment();// 下面是 禁止选择 当前时间以后的日期 current > moment() // 并且 只能选择31天范围内日期 // moment(disabledCurrent.value) 获取你选择的第一个日期// .subtract(30, 'd') 获取该日期的31天前的时间 .startOf('day') 从00:00:00 开始算// 不理解代码意思的参考下面moment.js的相关知识进行逻辑梳理,不多解释return(
current <moment(disabledCurrent.value).subtract(30,'d').startOf('day')||
current >moment(disabledCurrent.value).add(30,'d').endOf('day')||
current >moment());};
一些其他案例
// 不能选择今天之前的日期(包括今天)disabledDate(current){return current && current <moment().endOf('day');}// 不能选择今天之前的日期(不包括今天)disabledDate(current){return current && current <moment().subtract(1,'days').endOf('day')}// 想知道更多 点个关注 艾特我吧