[英]VueJS Calendar go back and forth one month
我已经构建了一个日历,显示日期和相应的日期表,我想添加函数以在月份之间进行更改。 我在这里提出的方法确实“有效”。 当我单击具有此功能的按钮时,它可以追溯到一个月前。 但只有一次,这是因为 selectedDate 没有更新,所以当我尝试使用我注释掉的 console.log(selectedDate) 进行调试时,它仍然会打印今天的日期..希望有人能在这里帮助我
methods: {
prevMonth() {
var selectedDate = moment(new Date());
let futureMonth = moment(selectedDate.subtract(1, 'month')).startOf('month')
selectedDate = futureMonth;
//return console.log(selectedDate)
this.days = [...Array(futureMonth.daysInMonth())].map((_, i) => {
return {
date: futureMonth.clone().add(i, "day"),
workhours: Math.floor(Math.random()*10),
overtime: Math.floor(Math.random()*10),
flextime: 0,
sickness: 0,
vacation: 0,
}
})
}
}
每次运行此方法时,都将 selectedDate 设置为moment(new Date())
。 所以它总是以今天为基础回溯一个月。
您需要保持 selectedDate 的状态,这样的事情应该可以工作:
data() {
return {
selectedDate: undefined
}
},
mounted() {
this.selectedDate = moment(new Date())
},
methods: {
prevMonth() {
let futureMonth = moment(this.selectedDate.subtract(1, 'month')).startOf('month')
this.selectedDate = futureMonth;
......
})
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.