ant组件DatePicker 日期选择框动态设置日期可选择范围不超过31天


 
        
        

      const startDate = ref();
      const calendarChange = (dates) => {
        startDate.value = dates;
      };
      const disabledDate = (current: Moment) => {
        if (startDate.value && startDate.value[0]) {
          return (
            current < moment(startDate.value[0]).subtract(31, "days") ||
            current > moment(startDate.value[0]).add(31, "days")
          );
        } else {
          return false;
        }
      };
      const blurDate = () => {
        startDate.value = undefined;
      };        

  首先calendarChange 函数获取到时间选择框的点击时间的变化并回调数据存入startDate中,然后disabledDate 函数根据moment(startDate.value[0])获取到选择的开始时间,并根据该时间向前后各扩大31天,超出31天的时间禁用。最后使用blurDate函数在失去焦点的时候重置startDate数据,使下次再选择时间的时候对开始时间不限制选择范围