el-date-picker 日期时间组件 按条件限制筛选

el-date-picker 日期时间组件 按条件限制筛选
总结了常用的一些 时间筛选 过滤

<el-date-picker v-if="dataForm.type==1"
                                clearable
                                v-model="liveTimerange"
                                :picker-options="pickerOptions.beforeMonth"
                                type="datetime"
                                format="yyyy-MM-dd HH:mm:ss"
                                placeholder="选择日期时间" />
pickerOptions: { //  日期可以项
        beforeMonth: {
            // 不包含当月 只能选之前的月份
            disabledDate(time) {
                const _time = dayjs(time).format('YYYY-MM');
                const _day = dayjs().format('DD'); // 获取当前时间 几号  比如9月10 号 获取到 10天数
                const _beforeDay = dayjs().subtract(_day, 'day').valueOf(); // 当前时间 上一个月 10天之前 肯定是上一个月就是8月
                const _month = dayjs(_beforeDay).format('YYYY-MM'); // 当前时间 上一个月  202108
                return dayjs(_time).valueOf() > dayjs(_month).valueOf();
            }
        },
        // 包含当月 选之前的月份
        currentbeforeMonth: {
            disabledDate(time) {
                const _time = dayjs(time).format('YYYY-MM');
                const _month = dayjs().format('YYYY-MM'); // 当前时间 上一个月  202107
                return dayjs(_time).valueOf() > dayjs(_month).valueOf();
            }
        },
        //  当天和当天之前的
        currentDate: {
            disabledDate(time) {
                return time.getTime() > Date.now();// 如果没有后面的-8.64e7就是可以选择今天的
            }
        },
        // 当天之前的
        currentBefoDate: {
            disabledDate(time) {
                return time.getTime() > Date.now() - 8.64e7;// 如果没有后面的-8.64e7就是可以选择今天的
            }
        },
        // 不能跨季度 选择日期 +当天和当天之前的 未完成
        crossQuarterDate: {
            onPick: date => {
                // 如果只选择一个则保存至selectDate 否则selectDate 为空
                const _minDate = dayjs(date.minDate).format('YYYY-MM');
                const _maxDate = dayjs(date.maxDate).format('YYYY-MM');
                console.log('_minDate', _minDate);
                console.log('_maxDate', _maxDate);
            },
            disabledDate(time) {
                return time.getTime() > Date.now();// 如果没有后面的-8.64e7就是可以选择今天的
            }
        }

    }

你可能感兴趣的:(vue.js,javascript,前端)