FullCalendar插件基本使用--基于vue

另一篇講的挺詳細(xì)的:fullCalendar基本使用 榄攀,不過是用原生js寫躺涝。

fullCalendar插件官網(wǎng)地址

我將補(bǔ)充基于vue的使用逊笆,以及一些未提到的用法:
安裝引用以及基本使用谋减,見官網(wǎng)如下地址

fullCalendar基于vue

使用
1艇肴、大體效果選擇
選擇自己想要的大體效果,可在整體效果里查看棉磨,自己想要拖拽江掩、編輯事件、點(diǎn)擊等效果乘瓤,查看對(duì)應(yīng)模塊的效果實(shí)現(xiàn)环形。demo地址

2、Api選擇
全部api都會(huì)在這里顯示:所有api

3衙傀、使用
HTML

<template>
  <div class="container">
    <div @click="backToday">返回今天</div>
    <FullCalendar
      class="demo-app-calendar"
      ref="fullCalendar" // 做標(biāo)記抬吟,以方便在事件中取用插件中的方法
      :plugins="calendarPlugins" // 引入的插件,比如fullcalendar/daygrid统抬,fullcalendar/timegrid引入后才可顯示月火本,周,日
      :slotEventOverlap="false"  // 事件時(shí)間重合時(shí)聪建,是否覆蓋
      defaultView="dayGridMonth" // 默認(rèn)視圖钙畔,設(shè)為dayGridMonth,月日程
      locale="zh-cn" // 切換語言金麸,當(dāng)前為中文
      :timeGridEventMinHeight="20" //設(shè)置事件的最小高度
      :allDaySlot="false" // 周擎析,日視圖時(shí),all-day 不顯示
      :eventLimit="true" //設(shè)置月日程挥下,與all-day slot的最大顯示數(shù)量揍魂,超過的通過彈窗顯示
      :eventLimitText="eventLimitText" //設(shè)置超過事件時(shí)的“更多”字樣提示,點(diǎn)擊后顯示彈窗棚瘟,eventLimitText可設(shè)置字樣
      :nowIndicator="true" // 當(dāng)前是否有紅線標(biāo)識(shí)
      height="parent" 
      :views="eventLimitNum" // 在views中設(shè)置事件顯示數(shù)量
      :displayEventEnd="false" // 是否顯示事件結(jié)束時(shí)間
      :slotLabelFormat="{ // 周愉烙,日視圖時(shí),左側(cè)的顯示的時(shí)間格式解取,以下為:00:00,00:30...5:30
        hour: 'numeric',
        minute: '2-digit',
        omitZeroMinute: false,
        meridiem: 'short',
        hour12: false
      }"
      :displayEventTime="false" //是否顯示時(shí)間時(shí)間
      :header="{ // 頂部按鈕返顺,以及他們的排列順序
                  left:'today',
                  center: 'prev,title,next',
                  right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
              }"
      :buttonText="{ // 頂部按鈕的文字顯示
          today: '回到今天',
          month: '月',
          week: '周',
          day: '日'
        }"
      :columnHeaderText="columnHeaderText" // 表格的表頭顯示字樣禀苦,默認(rèn)為sun,mon,tue.... 中文則顯示:周日蔓肯,周一,周二....
      :events="calendarEventsNew" // 存放數(shù)據(jù)的入口(面板中顯示的事件振乏,一般我們創(chuàng)建或者獲取到的事件蔗包,按規(guī)定格式放入,即可顯示在面板中)
      @datesRender="datesRender" // 日期渲染時(shí)慧邮,觸發(fā)的事件调限,默認(rèn)傳入info,一個(gè)包含view和el的對(duì)象
      :selectable="true" //是否支持選擇
      @eventPositioned="eventPositioned" //事件被放置在日歷的最終位置后觸發(fā)∥蟀模可在此調(diào)整事件的存放位置
      @eventClick="eventClick" // 事件被點(diǎn)擊時(shí)觸發(fā)
      @eventMouseEnter="eventMouseEnter" // 劃入事件時(shí)觸發(fā)
    />

  </div>
</template>


引入

import FullCalendar from '@fullcalendar/vue'
import dayGridPlugin from '@fullcalendar/daygrid'
import timeGridPlugin from '@fullcalendar/timegrid'
import interactionPlugin from '@fullcalendar/interaction'

JS

export default {
  components: { FullCalendar }, // 引入后注冊(cè)
  data() {
    return {
      calendarPlugins: [// 插件引入后在此聲明后耻矮,才可使用
        // plugins must be defined in the JS
        dayGridPlugin,
        timeGridPlugin,
        interactionPlugin // needed for dateClick
      ],
      eventLimitNum: {
        // 事件顯示數(shù)量限制
        dayGrid: {
          eventLimit: 6
        },
        timeGrid: {
          eventLimit: 2 // adjust to 6 only for timeGridWeek/timeGridDay
        }
      },
      columnHeaderText: function(date) {
        let day = date.getDay()
        let map = {
          0: '周日',
          1: '周一',
          2: '周二',
          3: '周三',
          4: '周四',
          5: '周五',
          6: '周六'
        }
        return map[day]
      },
      calendarEvents: [
        // 面板中的事件
      ]
    }
  },
 methods: {
    eventPositioned(info) {
         console.log('事件被放置在日歷的最終位置后觸發(fā)')
     },
     eventLimitText() {
      return '更多,或者其他字樣'
    },
    datesRender(info) {
      console.log('當(dāng)呈現(xiàn)一組新的日期時(shí)觸發(fā)。')
    },
    eventMouseEnter({ el, event }) { //可從info中解構(gòu)我們需要的東西
      console.log('劃入事件時(shí)觸發(fā)忆谓。')
    }裆装,
   // ...
   // 獲取插件中的方法,比如回到今天的today()方法,下面的為自定義的
   backToday() {
      let calendarApi = this.$refs.fullCalendar.getApi() //通過getApi()方法獲取
      calendarApi.today()  //調(diào)用回到今天的today()方法
    },

 }
}

CSS
需要引入相應(yīng)的css文件

<style lang='scss'>

@import '~@fullcalendar/core/main.css';
@import '~@fullcalendar/timeline/main.css';
@import '~@fullcalendar/resource-timeline/main.css';

</style>

4倡缠、踩坑

事件hover效果: eventMouseEnter
eventMouseLeave哨免,在vue中,配合使用時(shí)昙沦,劃入日程event中琢唾,會(huì)同時(shí)觸發(fā)eventMouseEnter與eventMouseLeave,而且會(huì)多次重復(fù)盾饮,經(jīng)查看是因?yàn)樵趀ventMouseEnter與eventMouseLeave改變了數(shù)據(jù)(然而就是要通過觸發(fā)它來改變數(shù)據(jù) 的【手動(dòng)白眼】)采桃,用原生js則不會(huì)出現(xiàn)這個(gè)問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丐谋,一起剝皮案震驚了整個(gè)濱河市芍碧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌号俐,老刑警劉巖泌豆,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吏饿,居然都是意外死亡踪危,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門猪落,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贞远,“玉大人,你說我怎么就攤上這事笨忌±吨伲” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袱结。 經(jīng)常有香客問我亮隙,道長,這世上最難降的妖魔是什么垢夹? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任溢吻,我火速辦了婚禮,結(jié)果婚禮上果元,老公的妹妹穿的比我還像新娘促王。我一直安慰自己,他們只是感情好而晒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布蝇狼。 她就那樣靜靜地躺著,像睡著了一般欣硼。 火紅的嫁衣襯著肌膚如雪题翰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天诈胜,我揣著相機(jī)與錄音豹障,去河邊找鬼焦匈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缓熟,可吹牛的內(nèi)容都是我干的够滑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼梯投,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼况毅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起么鹤,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蒸甜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后昧辽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體登颓,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡框咙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年痢甘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塞栅。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖作烟,靈堂內(nèi)的尸體忽然破棺而出砾医,到底是詐尸還是另有隱情,我是刑警寧澤如蚜,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站探赫,受9級(jí)特大地震影響撬呢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讨勤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一潭千、第九天 我趴在偏房一處隱蔽的房頂上張望借尿。 院中可真熱鬧屉来,春花似錦狈癞、人聲如沸蝶桶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恢共。三九已至,卻和暖如春讨韭,著一層夾襖步出監(jiān)牢的瞬間脂信,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來泰國打工透硝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹬铺。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓尝哆,卻偏偏與公主長得像甜攀,于是被迫代替她去往敵國和親秋泄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355