【Element】vue3-element-plus中日期时间选择器(范围)限制选择天数(30天为例)

本文介绍如何使用element-plus的el-date-picker组件实现限定日期选择范围的功能,通过@calendar-change监听选择变化,并利用disabledDate方法限制不可选日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

element-plus的el-data-picker中没有了pick-options,但是新增了事件calendar-change(等同onPick),disable-date也有,同样可以实现

Element-plus文档

在这里插入图片描述
在这里插入图片描述

代码实现

组件

在这里插入图片描述

 <el-form-item v-if="conditionForm.filterType == 0" label="时间范围:" prop="rangeDate">
    <el-date-picker
       v-model="validateForm.rangeDate"
       type="datetimerange"
       range-separator=""
       start-placeholder="开始日期"
       end-placeholder="结束日期"
       format="YYYY/MM/DD HH:mm:ss"
       value-format="YYYY-MM-DD H:m:s"
       :default-time="defaultTime2"
       :disabled-date="disabledDate"
       @focus="handleFocus"
       @calendar-change="handleChange"
     />
</el-form-item>

方法

在这里插入图片描述

...
...
//变量
 const chooseDay = ref(null)
 const handleChange = (val: Date[]) => {
    const [pointDay] = val
    chooseDay.value = pointDay
}
//取值方法
const handleFocus = () => {
       chooseDay.value = null
}
const disabledDate = (time: number) => {
   if (!chooseDay.value) {
     return false
   }
   let timeRange = 30
   const con1 = new Date(chooseDay.value).getTime() - timeRange * 24 * 60 * 60 * 1000
   const con2 = new Date(chooseDay.value).getTime() + timeRange * 24 * 60 * 60 * 1000
   return time < con1 || time > con2
 }
 return {

        handleChange,
        handleFocus,
        disabledDate
}
...
...

效果实现

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值