我已经建立了一个显示日期表和相应日期的日历,我想添加在月份之间更改的功能。我在这里制作的方法确实“有效”。当我单击具有此功能的按钮时,它可以追溯到一个月前。但只有一次,这是因为 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, } }) }}
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
moment(new Date())每次运行此方法时都将 selectedDate 设置为。所以它总是以今天为基础倒退一个月。
您需要保持 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;
......
})
}
}
添加回答
举报
0/150
提交
取消