vue3+element plus 日期之前,之后,今天

main.js引用day.js
import dayjs from ‘dayjs’
app.config.globalProperties.dayjs = dayjs;

 <el-row :gutter="20">
                    <el-col :span="12" class="text-center">
                        <el-form-item label="开始日期" prop="gmtInto">
                            <el-date-picker v-model=" form.gmtInto" :disabled-date="disabledBeforeDateFn" format='YYYY-MM-DD' value-format='YYYY-MM-DD' type="date" placeholder="请选择" :size="size" />
                        </el-form-item>
                    </el-col>
                    <el-col :span="12" class="text-center">
                        <el-form-item label="结束日期">
                            <el-date-picker v-model=" form.ltcInto" :disabled-date="disabledDateFn" format='YYYY-MM-DD' value-format='YYYY-MM-DD' type="date" placeholder="请选择" :size="size" />
                        </el-form-item>
                    </el-col>
                </el-row>

//设置结束时间
    const disabledDateFn = (time) => {
    //在开始日期之后
        if (form.value.gmtInto) {
            return proxy.dayjs(time).isBefore(form.value.gmtInto);
        } else {
            return false
        }
    };
    //设置开始时间
    const disabledBeforeDateFn = (time) => {
	    //只能今天
       return ( time.getTime() < new Date().getTime() || time.getTime() > new Date().getTime() + 1 * 24 * 60 * 60 * 1000);
       //当天之前的不可选,不包括当天
       return time&& time<  proxy.dayjs().subtract(1, "days"); 
		//不能在结束时间之后
        if (form.value.ltcInto) {
            return !proxy.dayjs(time).isBefore(form.value.ltcInto);
        } else {
            return false
        }
    }

限制选择时间范围

 <el-date-picker :disabled-date="disabledDate" 
                                  v-model="queryParams.timer"
                                   type="daterange"  
                                    format='YYYY-MM-DD'
                                    value-format='YYYY-MM-DD'
                                    :shortcuts="pickerShortcuts"
                                    range-separator="至" 
                                    start-placeholder="开始日期" 
                                    end-placeholder="结束日期" 
                                    align="right"
                                    @calendar-change="chooseDay = $event[0]"
                                    @focus="chooseDay = null"
                                         >
                                   
                                    </el-date-picker>
let queryParams = ref({
       timer:['','']
    })
 const chooseDay = ref(null)
    const disabledDate = date => {
        console.log(date,queryParams.value.timer)
        if (!chooseDay.value) {
            return false
        }
        // 超过3天后禁用
        const after3Days =  proxy.dayjs(date).isAfter( proxy.dayjs(chooseDay.value).add(2, 'day'))
        // 小于3天前禁用
        const before3Days =  proxy.dayjs(date).isBefore( proxy.dayjs(chooseDay.value).subtract(2, 'day'))
        return after3Days || before3Days
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值