1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Next.js+FullCalendar v5] イベントがある日付にGitHubの草のように背景色をつける方法

Last updated at Posted at 2024-03-25

この記事で行いたいこと

FullCalendarを使ってイベントがある日付にGitHubのように背景色をつけることができるようになります。

スクリーンショット 2024-03-25 10.57.20.png

前提

Next.jsを使用してnpmのライブラリFullCalendarを使ってカレンダーを表示していること。

インストール方法は以下の公式や記事を参考にしてください。

実装

イベントを表示する

関数を設定して、FullCalendarタグにイベントを設定する。しかし、背景色はありません。

※dataはFetchなどして取得したものと仮定してます。

スクリーンショット 2024-03-25 10.56.32.png

// イベントを設定
const eventExample = data.map((data: any) => ({
  title: "イベント",
  start: deta.date,
  backgroundColor: "green",
  borderColor: "green",
}))
~~省略~~
return(
 <>
	 <FullCalendar
	  plugins={[dayGridPlugin, interactionPlugin]}
	  locale={jaLocale}
	  initialView="dayGridMonth"
	  events={[...eventExample]}
	  headerToolbar={{
	    start: "prevYear,nextYear",
	    center: "title",
	    end: "today prev,next",
	  }}
	  contentHeight={"700px"}
	/> 
	
~~省略~~

【主題】イベントがある日付に背景色をつける

新たに関数を設定して、FullCalendarタグのイベントに関数を追加する。

これでイベントに加えて背景色が表示されます。

スクリーンショット 2024-03-25 10.57.20.png

const eventExample = data.map((data: any) => ({
    title: "イベント",
    start: deta.date,
    backgroundColor: "green",
    borderColor: "green",
  }))

// 以下を追加
// 同じイベントに対して背景色をつける関数を設定
const backgroundEvents = data.map((data: any) => ({
  start: data.date,
  backgroundColor: "green",
  display: "background",
}))

~~省略~~
return(
<>
	<FullCalendar
	  plugins={[dayGridPlugin, interactionPlugin]}
	  locale={jaLocale}
	  initialView="dayGridMonth"
	  events={[...eventExample, ...backgroundEvents]} //関数を追加
	  headerToolbar={{
	    start: "prevYear,nextYear",
	    center: "title",
	    end: "today prev,next",
	  }}
	  contentHeight={"700px"}
	/>
~~省略~~

最後に

Next.jsでの実務経験がない私が投稿しているため、もっと効率のいいやり方があるかもしれません。その際はコメントをいただけると幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?