<template> <el-date-picker v-model="value1" type="daterange" ref="date" popper-class="popDate" range-separator="至" value-format="timestamp" :picker-options="pickerOptions" start-placeholder="开始日期" end-placeholder="结束日期" > </el-date-picker> </template> <script> data() { return { value1: '', pickerOptions: { disabledDate: time => { return ( Date.now() - 30 * 6 * 24 * 3600 * 1000 > new Date(time).getTime() || new Date(time).getTime() > Date.now() ); }, onPick: ({ maxDate, minDate }) => { if ( new Date(maxDate).getTime() - new Date(minDate).getTime() > 30 * 1000 * 24 * 3600 ) { this.$message.error('时间范围在一个月之类'); this.$nextTick(() => { this.$refs.date.pickerVisible = true; }); return; } } }, } } </script>