vue知识点----element UI+vue关于日期范围选择的操作,picker-options属性的使用

需求场景如下:

  1. 指定起止日期,后选的将会受到先选的限制
  2. 不同的日期选择器,不过也存在关联关系

实现方法不难,利用了 change 事件,动态改变 picker-options 中的 disableDate 即可。

 


标签中 <el-form-item label="统计起期" prop="contract_start_date" > <el-date-picker v-model="formInline.contract_start_date" placeholder="选择时间" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :default-value="startDate" :picker-options="pickerOptionsStart" style="width: 100%;" ></el-date-picker> </el-form-item>
picker-options="pickerOptionsStart"的设置
<el-date-picker />使用会出现起始日期和结束日期,结束日期不能早于起始日期,选择了起始日期后,结束日期大于起始日期的不可选,置灰,
同理先选结束日期后再选起始日期,那么起始日期不能选截止日期后面的。
//设定时间
console.log("----------now-----"+now)
var startDate=new Date(Date.UTC(now.getFullYear(),Mmonth,Dday));
console.log("----------startDate-----"+startDate
---------------------------------------------------

pickerOptionsStart: {
                    disabledDate: time => {
                        let endDateVal = this.formInline.contract_end_date;
                        if (endDateVal) {
                            return time.getTime() > new Date(endDateVal).getTime(); //选则的时间
                        }
                    }
                },
//结束时间
var endDate=new Date(Date.UTC(now.getFullYear(),"11","31"));
console.log("----------endDate-----"+endDate)
this.formInline.contract_end_date = endDate ;
------------------------------------------

pickerOptionsEnd: {
                    disabledDate: time => {
                        let beginDateVal = this.formInline.contract_start_date;
                        if (beginDateVal) {
                            return (
                                time.getTime() <
                                new Date(beginDateVal).getTime() //return 小于今天的时间,昨天,前天
                            );
                        }
                    }
                },

参考:https://www.cnblogs.com/zyz-s/p/11972599.html

 

 

atzhang

posted @ 2020-06-14 19:19  张艳涛&java  阅读(3255)  评论(0编辑  收藏  举报