element plus中el-date-picker动态设置时间禁用范围

要求选择日月年时左边开始结束时间的格式分别为 :YYYY-MM-DD, YYYY-MM,YYYY
然后设置时间禁用范围。
在这里插入图片描述
element plus中el-date-picker的禁用属性改了。
在这里插入图片描述

<el-form
      class="search-form"
      :model="queryParams"
      ref="queryRef"
      :inline="true"
      label-width="0"
    >
      <el-form-item label="" prop="startTime">
        <el-date-picker
          size="small"
          v-model="queryParams.startTime"
          :type="dataPickerType"
          :format="dataPickerFormat"
          :value-format="dataPickerFormat"
          placeholder="开始"
          style="width: 100px"
          :disabled-date="disabledStartDate"
          @change="handlePicker"
        />
      </el-form-item>

      <el-form-item label="" prop="endTime">
        <el-date-picker
          size="small"
          v-model="queryParams.endTime"
          :type="dataPickerType"
          :format="dataPickerFormat"
          :value-format="dataPickerFormat"
          placeholder="结束"
          style="width: 100px"
          :disabled-date="disabledEndDate"
          @change="handlePicker"
        />
      </el-form-item>

      <el-form-item label="" prop="dateType">
        <el-radio-group
          v-model="queryParams.dateType"
          size="small"
          @change="handleRadio"
        >
          <el-radio-button :value="0"></el-radio-button>
          <el-radio-button :value="1"></el-radio-button>
          <el-radio-button :value="2"></el-radio-button>
        </el-radio-group>
      </el-form-item>
    </el-form>
const dataPickerType = computed(() => {
  const typeMap = {
    1: "month",
    2: "year",
  };
  return typeMap[queryParams.value.dateType] || "date";
});

const dataPickerFormat = computed(() => {
  const typeMap = {
    1: "YYYY-MM",
    2: "YYYY",
  };
  return typeMap[queryParams.value.dateType] || "YYYY-MM-DD";
});
const disabledStartDate = (date) => {
  if (queryParams.value.endTime) {
    return date.getTime() > new Date(queryParams.value.endTime).getTime();
  }
  return false;
};
const disabledEndDate = (date) => {
  if (queryParams.value.startTime) {
    return date.getTime() < new Date(queryParams.value.startTime).getTime();
  }
  return false;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值