代码之家  ›  专栏  ›  技术社区  ›  Dave

Vue完整日历(下一个、上一个)按钮触发器

  •  0
  • Dave  · 技术社区  · 7 年前

    https://www.npmjs.com/package/vue-full-calendar 在项目中。我碰到了

    当我需要回叫或触发next和prev时出现问题

    我的后端api建立在参数month returing事件上。我在Vuejs中有请求方法,它们接受参数并返回事件。对于当前月份,我只使用created()函数中的fetch方法,它返回事件,我只是简单地将等于日历事件,如下所示:

    axios.获取(/fetch/events?月=6),然后(e=>这个。事件= 这是对事件的回应(e.data)).catch(e=>…)。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Socrates Tuas    7 年前

    自己创建一个按钮,并给它一个@click=“next”事件 https://github.com/CroudTech/vue-fullcalendar#methods

        2
  •  0
  •   2204    5 年前

    发射事件: changeMonth
    例如

    <template>
      <full-calendar
        @changeMonth="changeMonth"
      ></full-calendar>
    </template>
    
    import FullCalendar from 'vue-fullcalendar'
    
    ...
      components: {
        FullCalendar
      },
    ...
    
    methods: {
      changeMonth(start, end, currentMonthStartDate) {
         console.log(currentMonthStartDate); // the start date of the current month after changing month by clicking the '<'(previous) or '>'(next) button
      }
    }
    
        3
  •  0
  •   tnusraddinov    5 年前

    您可以覆盖默认按钮:

    <full-calendar ref="fullCalendar" :custom-buttons="customButtons" :header="header" />
    
    <script>   
      data() {
        return {
          header: {
            left: "prev,next today",
            center: "title",
            right: "dayGridMonth,timeGridWeek,timeGridDay,listWeek"
          },
          customButtons: { 
            prev: { // this overrides the prev button
              text: "PREV", 
              click: () => {           
                console.log("eventPrev");
                let calendarApi = this.$refs.fullCalendar.getApi();
                calendarApi.prev();
              }
            },
            next: { // this overrides the next button
              text: "PREV",
              click: () => {
                 console.log("eventNext");
                 let calendarApi = this.$refs.fullCalendar.getApi();
                 calendarApi.next();
              }
            }
          }
        }
    
    </script>