el-date-picker 禁用开始日期之前和结束日期之后

 el-date-picker 默认显示弹出的日历,并根据得到的开始时间和结束时间,禁用开始时间之前的日期,禁用结束时间之后的日期

里面用到dayjs插件处理时间数据

<el-date-picker
				class="pickerCuster"
				   v-model="checkDate"
				   type="date"
				   size="small"
				   ref="datePick"
				   value-format="yyyy-MM-dd"
				   format="yyyy-MM-dd"
				   :clearable="false"
				   @change="calCellClick"
				   @blur="calCellClick"
				   :placeholder="'选择日期'"
				   :picker-options="pickerOptions"
				></el-date-picker>


export default {
  data() {
    return {
		beginTime:'',//日历开始时间
		endTime:'',//日历结束时间
     
    };
  },
 
	computed: {
	  pickerOptions() {
	        const _this = this
	        return {
	          disabledDate: (time) => {
                    //dayjs(‘2024-06-01’).valueOf() 换成字符串格式的时间
	          		const beginDate =dayjs(_this.beginTime).valueOf(); // 需要禁用之前日期的字符串日期值
	          		const endDate = dayjs(_this.endTime).valueOf(); // 需要禁用之后日期的字符串日期值
	          		time = dayjs(time).format('YYYY-MM-DD')
	          		time=dayjs(time).valueOf(); 
	          		return time < beginDate || // 禁用指定日期之前的所有日期
	          		time > endDate; // 禁用指定日期之后的所有日期
	              }
	        }
	      },

	},

	
  created() {
	
	setTimeout(() => {
	   this.checkDate = this.beginTime
	   console.log("初始化日期", this.checkDate);
	}, 500);
	
  },
  mounted() {
	  this.$refs.datePick.focus(); // 让日历组件默认触发焦点事件
	  
  },

  methods: {
	
	//日历点击事件
	calCellClick(date){
		this.$refs.datePick.focus(); // 选择日期后依旧触发焦点
	
	},


	
  }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值