Vue.js

Vue.js

【Vue.js】リストをドラッグ&ドロップで並び替える方法|SortableJSとの連携例

Vue.jsでリストの順序をユーザーが自由に並び替えられるようにしたい場合、ドラッグ&ドロップの仕組みを導入するのが効果的です。
Vue.js

【Vue.js】リアルタイム文字カウント機能を作る|入力制限と残り文字数表示

Vue.jsを使えば、フォーム入力欄に対してリアルタイムで文字数をカウントし、残りの入力可能文字数を表示する機能も簡単に実装でき
Vue.js

【Vue.js】複数のトースト通知をグローバルイベントで制御する

シンプルなトースト通知は便利ですが、実務では「複数の通知を同時に表示したい」「どこからでも呼び出したい」といったニーズ
Vue.js

【Vue.js】トースト通知を作る方法|イベントで表示・非表示を制御する簡易実装

Vue.jsを使えば、ユーザーに一時的なメッセージを表示する「トースト通知」も簡単に実装できます。本記事では、ボタンクリックなど
Vue.js

【Vue.js】モーダルウィンドウを作成する方法|スロット・クリック外で閉じる処理付き

Vue.jsでは、クリック一つで開閉できるモーダルウィンドウも簡単に作成できます。本記事では、再利用性の高いモーダルコンポーネン
Vue.js

【Vue.js】ページネーション付きリスト表示を実装する方法|1ページ○件表示に対応

Vue.jsを使えば、大量のリストデータをページ単位で表示する「ページネーション機能」も簡単に実装できます。本記事では、1ページあ
Vue.js

【Vue.js】検索フィルター付きリストの作成|computedで絞り込みを実装

Vue 3で検索フィルター付きのリストを作る方法を解説します。日本語入力の変換中も絞り込む方法、全角・半角やひらがな・カタカナの違いを吸収する正規化、複数項目の横断検索、件数の読み上げ、デバウンスまで動くコードで紹介します。
Vue.js

【Vue.js】入力フォームのバリデーション機能を実装する方法|リアルタイムでエラー表示

Vue 3で入力フォームのバリデーションを実装する方法を解説します。触れた項目と送信後にだけエラーを出す設計、送信ボタンを無効にしない理由、aria-invalidとlabelによるアクセシビリティ、ブラウザ標準の検証との関係、非同期の重複チェックの考え方まで動くコードで紹介します。
Vue.js

【Vue.js】タブ切り替えUIの作り方|アクティブなタブを動的に切り替える実装例

Vue 3でキーボード操作にも対応したタブ切り替えUIを作る方法を解説します。buttonとrole=tab、aria-selectedの付け方、矢印キーの操作、KeepAliveによる状態の保持、URLクエリとの連動まで動くコードで紹介します。
Vue.js

【Vue.js】Vue Router で多階層のルート定義を整理する方法|動的ルートとネスト構造の管理

Vue Router 4でネストしたルートと動的ルートを整理する方法を解説します。子ルートのパス規則、レイアウトの切り替え、同じコンポーネントが再利用される落とし穴、props:true、正規表現パラメータ、404ページとモジュール分割まで動くコードで紹介します。
Vue.js

【Vue.js】Composable関数でロジックを共通化する方法|useFetch・useFormの実装例

Vue 3のComposable関数の作り方を、状態を呼び出しごとに持つ仕組み、onUnmountedによる後始末、共有状態の置き方から解説します。ルールを引数で受け取るuseFormと、URLの変化に追従するuseFetchを動くコードで紹介します。
Vue.js

【Vue.js】非同期APIの状態管理パターン|loading・error・successの統一的な扱い方

Vue 3でAPI取得の状態をComposableにまとめる方法を解説します。idle・loading・success・errorをstatusで一元管理し、URLの変更で再取得、AbortControllerで古いリクエストを中止、空データやHTTPエラーの扱いまで動くコードで整理します。
Vue.js

【Vue.js】provide/injectの仕組みと応用例|親子コンポーネント間の依存関係を整理する設計

Vue 3のprovide/injectの使い方を、prop drillingを避ける目的から解説します。refと更新関数を提供する安全な設計、readonlyによる書き換え防止、デフォルト値、Symbolキー、props・emit・Piniaとの使い分けまで動くコードで整理します。
Vue.js

【Vue.js】ルーティングの動的管理|meta情報で権限制御・タイトル変更を柔軟に

Vue Routerのmeta情報を使って、ログインや権限による画面の出し分けとページタイトルの更新を実装する方法を解説します。nextを使わない戻り値方式のガード、metaの親子マージ、RouteMetaの型定義、クライアント側ガードの限界までまとめます。
Vue.js

【Vue.js】アニメーション付きアコーディオンを実装する方法|transitionとrefを活用

Vue 3でなめらかに開閉するアコーディオンを作る方法を解説します。TransitionのJavaScriptフックで高さを動かす方法と、テンプレート参照(ref)で高さを測る方法を比較し、heightアニメーションの注意点やprefers-reduced-motionへの配慮まで紹介します。
Vue.js

【Vue.js】watch・watchEffectの違いと使い分け|リアクティブな監視処理の最適化

Vue 3のwatchとwatchEffectの違いを、依存の指定・初回実行・旧値・追跡範囲で整理します。同じ処理を両方で書いて比較し、awaitの後の値が追跡されない落とし穴、onCleanup、flush、停止の方法、使い分けの指針まで動くコードで解説します。
Vue.js

【Vue.js】動的フォームの作り方とバリデーション設計|項目の追加・削除を柔軟に対応

Vue 3で項目を追加・削除できる動的フォームを作る方法を解説します。固有idをkeyにする理由、項目ごとのエラー表示、上限数と最後の1件を残す設計、VeeValidateのuseFieldArrayとtoTypedSchemaによる実装まで動くコードで紹介します。
Vue.js

【Vue.js】v-modelの仕組みを完全理解|双方向バインディングの裏側とカスタム実装

Vue 3のv-modelの仕組みを解説します。ネイティブ要素での展開とIME変換中の違い、コンポーネントでのmodelValueとupdate:modelValue、defineModelによるカスタム実装、v-modelの引数とカスタム修飾子、Vue 2からの変更点まで整理します。
Vue.js

【Vue.js】JSONファイルからデータを取得する方法

Vue 3でJSONファイルからデータを取得して表示する方法を解説します。publicに置いてfetchする方法とsrcからimportする方法の使い分け、fetchがHTTPエラーでrejectしない落とし穴、loadingとerrorの状態管理、axiosとの違いまで整理します。
Vue.js

【Vue.js】computedプロパティで動的なデータ処理を行う方法

Vue 3のcomputedで、他のデータから計算した値をキャッシュ付きで扱う方法を動くコードで解説します。methodsとの違い、配列のフィルタリングとソート、getterに副作用を書いてはいけない理由、setterの使い方、Options APIの書き方まで整理します。