element-ui date-picker 设置结束时间大于等于开始时间且开始时间小于等于结束时间...

Part.1  问题 

date-picker 组件在使用时,默认对时间是没有限制的,可以随便选择区间,官方文档添加了快捷选项,如:一周丶一月...

但是从用户体验方面出发,我们还是希望对时间进行有利的把控,如 我们的开始时间选定后,结束时间的可选区间应该大于或者等于开始时间,反之同理

Part.2  实现

HTML

<el-date-picker
        v-model="startTime"
        type="datetime"
        placeholder="开始日期"
        value-format="yyyy-MM-dd" format="yyyy-MM-dd"
        :picker-options="pickerOptionsStart"
        style="width:46%">
</el-date-picker>
<span></span>
<el-date-picker
        v-model="endTime"
        type="datetime"
        placeholder="结束日期"
        value-format="yyyy-MM-dd" format="yyyy-MM-dd"
        :picker-options="pickerOptionsEnd"
        style="width:46%">
</el-date-picker>

JS

export default {
    data() {
        return {
            startTime: '',
            endTime: '',

            pickerOptionsStart: {
                     disabledDate: time => {
                            if (this.endTime) {
                                 return time.getTime() > new Date(this.endTime).getTime()
                           }
                    }
             },
             pickerOptionsEnd: {
                      disabledDate: time => {
                            if (this.startTime) {
                                    return time.getTime() < new Date(this.startTime).getTime() - 86400000
                            }
                       }
             },
        }
   }
}

 

Part.3  效果

 

 

转载于:https://www.cnblogs.com/langxiyu/p/11076289.html

您好!对于在 Element UI 中使用 el-date-picker 组件设置开始时间结束时间不能跨年的功能,您可以通过以下方式实现: 1. 使用`picker-options`属性:el-date-picker 组件提供了一个 `picker-options` 属性,您可以通过设置该属性来限制选择的日期范围。您可以在该属性中使用 `disabledDate` 方法来禁用特定的日期。 ```html <el-date-picker v-model="startDate" :picker-options="pickerOptions" ></el-date-picker> <el-date-picker v-model="endDate" :picker-options="pickerOptions" ></el-date-picker> ``` ```javascript data() { return { startDate: '', endDate: '', pickerOptions: { disabledDate(time) { // 获取当前时间的年份 const currentYear = new Date().getFullYear(); // 获取选择的日期的年份 const selectedYear = time.getFullYear(); // 如果选择的日期的年份与当前时间的年份不同,则禁用该日期 return currentYear !== selectedYear; } } } } ``` 2. 使用`value-format`属性:将 el-date-picker 组件的 `value-format` 属性设置为 "yyyy-MM-dd",这将强制日期选择器只接受年份、月份和日期的格式化字符串。这样,用户将无法选择跨年的日期。 ```html <el-date-picker v-model="startDate" value-format="yyyy-MM-dd" ></el-date-picker> <el-date-picker v-model="endDate" value-format="yyyy-MM-dd" ></el-date-picker> ``` 请根据您的需求选择合适的方法来实现开始时间结束时间不能跨年的限制。希望能帮到您!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值