Vue中使用Fullcalendar思路

一、npm 安装 Fullcalendar及相关插件

npm i --save @fullcalendar/vue @fullcalendar/daygrid @fullcalendar/timegrid @fullcalendar/interaction @fullcalendar/list

说明:   
@fullcalendar/vue    FullCalendar 的 vue 组件
@fullcalendar/daygrid    月视图插件(按需安装)
@fullcalendar/timegrid    周视图和日视图插件(按需安装)
@fullcalendar/interaction    接口插件(按需安装)
@fullcalendar/list    日程视图插件(按需安装)

二、引入并使用

<template>
    <FullCalendar
        ref="fullcalendar"
        :options='calendarOptions'
      >
        <template v-slot:eventContent='arg'>
          <b>{{ arg.timeText }}</b>
          <i>{{ arg.event.title }}</i>
        </template>
      </FullCalendar>
</template>
<script>
import FullCalendar from '@fullcalendar/vue'
import dayGridPlugin from '@fullcalendar/daygrid'
import timeGridPlugin from '@fullcalendar/timegrid'
import interactionPlugin from '@fullcalendar/interaction'
import listPlugin from '@fullcalendar/list'

export default {

  components: {
    FullCalendar // make the <FullCalendar> tag available
  },

  data: function() {
    return {
      calendarOptions: {
        plugins: [    //配置日历插件
          dayGridPlugin,
          timeGridPlugin,
          interactionPlugin,// needed for dateClick
          listPlugin 
        ],
        //其他一些相关配置
    }
  }
}
</script>

三、使用 FullCalendar提供的接口

1. 给 FullCalendar 配置 ref属性

<FullCalendar ref="fullcalendar"  :options='calendarOptions'>

2. 通过 ref 和 getApi() 调用 Fullcalendar 中的方法

this.$refs.fullcalendar.getApi().gotoDate('2021')


 具体配置信息和接口信息可参考以下链接: 

官方文档:http://arshaw.com/fullcalendar/docs/

FullCalendar 官方文档翻:http://www.cnblogs.com/mycoding/archive/2011/05/20/2052152.html

FullCalendar中文文档:API_Hesper_Pan的博客-CSDN博客_fullcalendar

Vue定制FullCalendar自定义视图,可以按照以下步骤进行: 1. 首先,需要在Vue项目安装FullCalendar插件,可以使用npm命令进行安装: ```shell npm install --save @fullcalendar/vue @fullcalendar/daygrid ``` 2. 在Vue组件引入FullCalendar插件,并注册FullCalendar组件: ```javascript <template> <FullCalendar :plugins="calendarPlugins" :initialView="calendarView" /> </template> <script> import FullCalendar from '@fullcalendar/vue' import dayGridPlugin from '@fullcalendar/daygrid' export default { components: { FullCalendar }, data() { return { calendarPlugins: [dayGridPlugin], calendarView: 'dayGridMonth' } } } </script> ``` 3. 接下来,可以使用FullCalendar提供的API来自定义视图。例如,可以使用`headerToolbar`属性来自定义日历的头部工具栏: ```javascript <template> <FullCalendar :plugins="calendarPlugins" :initialView="calendarView" :headerToolbar="calendarHeader" /> </template> <script> import FullCalendar from '@fullcalendar/vue' import dayGridPlugin from '@fullcalendar/daygrid' export default { components: { FullCalendar }, data() { return { calendarPlugins: [dayGridPlugin], calendarView: 'dayGridMonth', calendarHeader: { left: 'prev,next today', center: 'title', right: 'dayGridMonth,timeGridWeek,timeGridDay' } } } } </script> ``` 4. 可以使用`slot`来自定义日历的内容。例如,可以使用`dayContent`插槽来自定义每个日期格子的内容: ```javascript <template> <FullCalendar :plugins="calendarPlugins" :initialView="calendarView"> <template #dayContent="{ date }"> <div class="custom-day-content">{{ date.getDate() }}</div> </template> </FullCalendar> </template> <script> import FullCalendar from '@fullcalendar/vue' import dayGridPlugin from '@fullcalendar/daygrid' export default { components: { FullCalendar }, data() { return { calendarPlugins: [dayGridPlugin], calendarView: 'dayGridMonth' } } } </script> <style> .custom-day-content { background-color: #f0f0f0; border-radius: 50%; width: 30px; height: 30px; line-height: 30px; text-align: center; } </style> ``` 以上是在Vue定制FullCalendar自定义视图的基本步骤和示例代码,可以根据具体需求进行自定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值