为了账号安全,请及时绑定邮箱和手机立即绑定

VueJS Calendar 来回一个月

VueJS Calendar 来回一个月

波斯汪 2023-03-03 13:15:56
我已经建立了一个显示日期表和相应日期的日历,我想添加在月份之间更改的功能。我在这里制作的方法确实“有效”。当我单击具有此功能的按钮时,它可以追溯到一个月前。但只有一次,这是因为 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;

    ......

    })

  }

}


查看完整回答
反对 回复 2023-03-03
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信