首页 > 其他 > 详细

element-ui date-picker 禁用选择

时间:2021-05-27 16:45:39      阅读:15      评论:0      收藏:0      [点我收藏+]
需求:
1、今日之后的日期不可选择
2、日期最多可选一年
 
效果图:
技术分享图片 技术分享图片

 

 

 
实现:
1、HTML:
<span class="field_label">时间:</span>
<el-date-picker
    v-model="loseTime"
    type="daterange"
    value-format="yyyy-MM-dd"
    range-separator="~"
    start-placeholder="开始日期"
    end-placeholder="结束日期"
    :picker-options="pickerOptions"
    :clearable="false"
>
</el-date-picker>

 2、JS

export default {
    data() {
        const _this = this;
        return {
       loseTime: ‘‘, // 日期
       startEndDate: ‘‘, // 选择的开始日期 pickerOptions: { disabledDate(time) {
return _this.compateDate(time); }, onPick(v) { _this.setDisabledDate(v); }, }, }; }, methods: { // 选择日期后,设置可选范围,前后超过一年不可选择 setDisabledDate(v) {if (!v.maxDate) { this.startEndDate = v.minDate; } else { this.startEndDate = ""; } }, // 对比可选日期 设置禁用状态,前后一年之外、今日之后禁止选择 compateDate(v) { const date = this.startEndDate; const compToday = v.getTime() >= new Date().getTime(); if (date) { // 选择了开始日期触发 const curTime = v.getTime(); // 当前时间控件遍历的的时间戳 const oneYearBefore = date.getTime() - 365 * 24 * 3600 * 1000; // 选择的开始时间前一年的时间戳 const oneYearLater = date.getTime() + 365 * 24 * 3600 * 1000; // 选择的开始时间后一年的时间戳 let flag; // 当前遍历日期的时间戳比开始日期一年前的日期还小、比一年后/今天还大,返回true,可以添加到禁止选择列表 if ( curTime <= oneYearBefore || curTime >= oneYearLater || compToday ) { flag = true; } else { // 否则返回false,不添加到禁止选择列表 flag = false; } return flag; } // 初始化日期选择组件,或者选择了结束时间时返回 return compToday; }, }, }

 

element-ui date-picker 禁用选择

原文:https://www.cnblogs.com/icebreaker/p/14817608.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!