element UI 日期月份范围选择器不能选到起始月份?

492 阅读1分钟

问题现象:设置最长可查询范围的时候,发现起始日期无法点击? 问题原因:因为设置了只能选择日期

image.png

image.png

  <el-date-picker placeholder="选择月" size="small"
                        style="margin-left: 22px;width:240px;z-index: 999999;" class="dateSelect" value-format="yyyy-MM"
                        format="yyyy-MM" @change="tiemChange" v-model="monthValue" type="monthrange" align="right"
                        range-separator="至" start-placeholder="开始月份" end-placeholder="结束月份"
    :picker-options="pickerOptions">
</el-date-picker>

                    
  pickerOptions: {
        shortcuts: [{
            text: '近一年',
            onClick(picker) {
                const end = new Date();
                const start = new Date();
                start.setMonth(start.getMonth() - 13);
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '今年',
            onClick(picker) {
                const end = new Date();
                const start = new Date(new Date().getFullYear(), 0);
                picker.$emit('pick', [start, end]);
            }
        },
        {
            text: '去年',
            onClick(picker) {
                const start = new Date(new Date().getFullYear(), -12);
                const end = new Date(new Date().getFullYear(), -1);
                picker.$emit('pick', [start, end]);
            }
        }],
        disabledDate: (time) => {
            var dt = new Date();
            dt.setMonth(dt.getMonth() - 25);
            // console.log(dt.toLocaleString());
            let riqi = dt.toLocaleString()
            let riqi2 = riqi.split("/")
            let year = riqi2[0]
            let month = riqi2[1]
            if (month > 10) {
                var month2 = month
            } else {
                var month2 = "0" + month
            }
            var zsTime = year + "-" + month2 + "-" + "01" + ' ' + '00:00:00'

            var date1 = new Date(zsTime);
            var date2 = new Date();
            return time.getTime() < date1.getTime() || time.getTime() > date2.getTime();



            // return time.getTime() >= Date.now() || time.getTime() < new Date().setFullYear((new Date().getFullYear() - 2),6) 
        }

    },

转载:blog.csdn.net/txf666/arti…