Laravel + inertia + Vueのスターターキットでshadcn-vueのSidebarを使う

Laravel + inertia + Vueのスターターキットでshadcn-vueのSidebarを使う

Laravel + inertia + Vueのスターターキットで作成されるソースをTypescriptで書き換えるの記事で作成した Laravel のソースを使って今回はshadcn-vueのSidebarを使ってみます。今まではスターターキットで実装されていたナビゲーションメニューを使って機能を切り替えていました。それをSidebarコンポーネントに変更します。

Sidebarコンポーネントの実装

アプリケーション用のAppSidebar.vueコンポーネントを作成し、そのコンポーネントにshadcn-vueのSidebarを組み込みます。ドキュメントが親切なので迷うことはなかったです。今回はシンプルにサイドバーを実装するだけですがメニューにドロップダウンメニューを追加したり出来るようです。
resources/js/Layouts/AuthenticatedLayout.vue にSidebarProviderを実装して本体はAppSidebar.vueコンポーネントに実装することでAuthenticatedLayout.vueを実装する画面では共通のサイドメニューが表示されます。
実装した差分をgitHubにあげているので参考にしてください。

シンプル実装版はメニューをオブジェクトの配列で定数として宣言しています。ユーザーの権限に応じてメニューを変化させることも出来そうです。

スマホサイズにするとサイドバーが隠れてくれるのでレスポンシブデザインにも対応しています。

スターターキットでのメニューの実装はパソコン用とスマホ用でそれぞれメニューを記述するスタイルだったので、1箇所だけで済むのは余計なエラーを引き起こさないで済みます。

このように比較的簡単にサイドバーメニューを実装することができました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

先頭に戻る