【问题标题】:Vue FullCalendar, setting click eventVue FullCalendar,设置点击事件
【发布时间】:2019-09-09 11:59:50
【问题描述】:

我正在使用 Vue https://fullcalendar.io/docs/vue 的 FullCalendar 库,并且我有一个完美的工作日历,但我无法点击日期/日历事件来工作。

我在模板中有日历:

<full-calendar @dateClick="handleDateClick" :config="config" :events="events"/></full-calendar>

还有我的vue代码:

export default {
    data () {
        return {
            events: [
              title: 'My Event',
              start: '2010-01-01'
            ],
            config: {
                defaultView: 'month',
                editable:true,
                eventRender: function(event, element) {
                    console.log(event)
                }
            },
        }
    },
    methods: {
      handleDateClick(arg) {
        alert(arg.date)
      },
    },
}

这似乎与文档匹配,但我没有收到警报。我只是在努力做到这一点,以便我拥有适当的功能,以便我可以将每个事件单击与具有该事件详细信息的模式联系起来。

我到底做错了什么?

【问题讨论】:

  • 您的控制台有任何错误吗?
  • 完全没有错误,这是没有意义的一件事

标签: javascript vue.js fullcalendar


【解决方案1】:

您需要添加 selectable:true 因为默认为 false。您还需要interactionPlugin。

https://fullcalendar.io/docs/selectable https://fullcalendar.io/docs/plugin-index

import interactionPlugin from '@fullcalendar/interaction'
config:{
...
selectable:true,
plugins:[interactionPlugin]
}

【讨论】:

  • 谢谢,但我得到一个错误,它可以;找不到交互。这就是我现在导入全日历的方式import FullCalendar from "vue-full-calendar";
  • 我没有使用@fullcalendar/vue,如何获得对它的依赖
  • Joao Oliveira,我还有一个 FullCalendar Vue 问题。我正在尝试将 FC 组件连接到 Firebase。你介意看看这个问题吗? stackoverflow.com/questions/59382214/…
【解决方案2】:

我有以下设置,它允许我单击并拖动。您的代码只缺少@select=""

<template>
  <FullCalendar 
    defaultView="dayGridMonth" 
    :plugins="calendarPlugins" 
    :events="events"
    :selectable="true"
    @select="handleSelect"
    @clickDate="handleDateClick"
  />
</template>


<script>
/* eslint-disable */
import FullCalendar from '@fullcalendar/vue'
import dayGridPlugin from '@fullcalendar/daygrid'
import interactionPlugin from '@fullcalendar/interaction';


export default {
  name: 'Home',
  components: {
    FullCalendar
  },
  mounted(){

  },
  data () {
    return {
      events: [{title:'Something', start:'2019-09-12'}],
      calendarPlugins:[dayGridPlugin, interactionPlugin]
    }
  },
  methods:{
    handleDateClick(e){
      console.log(e);
    },
    handleSelect(e){
      console.log(e);
    }
  }
}
</script>

<style lang='scss'>

  @import '~@fullcalendar/core/main.css';
  @import '~@fullcalendar/daygrid/main.css';
  @import '~@fullcalendar/timegrid/main.css';
  @import '~@fullcalendar/list/main.css';

</style>

【讨论】:

  • 如果我单击日期,无论是否有事件,这都会生成控制台日志。我正在努力做到这一点,以便我可以点击一个实际事件并获取它的信息
  • 好吧,我确实让它工作了,但是你有没有遇到过日历第一次加载时它只显示月份和按钮的问题?我必须按箭头并返回查看当前月份视图
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-02
  • 2021-12-31
  • 2012-03-10
  • 1970-01-01
  • 2014-03-10
  • 2020-06-26
相关资源
最近更新 更多