完整的日历--检查是否有活动在同一天进行

问题描述 投票:0回答:1

我有一些用户需要保存他们的空闲时间,我使用的是全日历,我需要在他们点击某一天的时候检查他们是否已经有活动了(如果他们有空闲时间,不需要放一次以上)。我使用的是Full Calendar,我需要在他们点击某一天的时候,检查他们是否已经有了一个事件(如果他们是可用的一个他们,不需要把它多放一次)。我使用VueJs,我有所有的事件在商店里。所以,我试着这样做。

handleSelect(arg) {
   let index = this.$store.getters.EVENTS.findIndex((_event) => _event.start == arg.start);
   if (index == -1) {
     this.$store.dispatch("ADD_EVENT", {
        id: new Date().getTime(),
        title: this.title,
        start: arg.start,
        end: arg.end,
        allDay: arg.allDay,
     });
   }
},

如果我控制台记录_event.start和arg.start,两者都是一样的 但我得到的索引总是-1。有人知道为什么吗?

javascript date vue.js fullcalendar
1个回答
0
投票

解决:event.start是一个对象,所以我需要getTime来比较日期。所以我的新代码是这样的。

handleSelect(arg) {
  let index = this.$store.getters.EVENTS.find(
    _event =>
      _event.start.getTime() == arg.start.getTime() &&
      _event.end.getTime() == arg.end.getTime()
  );

  if (!index) {
    this.$store.dispatch("ADD_EVENT", {
      id: new Date().getTime(),
      title: this.title,
      start: arg.start,
      end: arg.end,
      allDay: arg.allDay
    });
  }
},
© www.soinside.com 2019 - 2024. All rights reserved.