el-calendar 回调重写2.0

347 阅读1分钟
html----------

js-----------
 thisDay: new Date(),
  activeName: 0,
  yearNum:new Date(),
  monthNum:new Date(),
  value: new Date(),
  
   watch:{
yearNum: {
		immediate: true,
		handler(yearNum) {
    const monthNum = new Date(yearNum).getMonth()+1;
    this.value = new Date(yearNum.getFullYear()+"-"+monthNum)
		}
	},}
	
	goToday(){
    this.yearNum = this.monthNum = this.thisDay
  setTimeout(()=>{
     this.value =  this.thisDay
  },50)

},
preYear(){
  const yearNum = new Date(this.yearNum)
  yearNum.setFullYear(yearNum.getFullYear()-1); 
  this.yearNum = yearNum
},
nextYear(){
  const yearNum = new Date(this.yearNum)
  yearNum.setFullYear(yearNum.getFullYear()+1); 
  this.yearNum = yearNum
},
preMonth(){
  const yearNum = new Date(this.yearNum)
  const thisYear = yearNum.getFullYear();
  const monthNum = new Date(this.yearNum).getMonth();
  if(monthNum!=0){
     this.yearNum = new Date(thisYear+"-"+monthNum)
  }
},
nextMonth(){
  const yearNum = new Date(this.yearNum)
  const thisYear = yearNum.getFullYear();
  const monthNum = new Date(this.yearNum).getMonth()+1;
   if(monthNum<12){
      const thismonth = monthNum+ 1;
       this.yearNum = new Date(thisYear+"-"+thismonth)
  }
 
},