mcpField
S
syncfusion-aspnetcore-tabs

syncfusion-aspnetcore-tabs

github.com/syncfusionデザイン・UI0100 回インストール3 週間前に更新
リポジトリ

syncfusion-aspnetcore-tabs について

ASP.NET Core 開発者向けに、Syncfusion Tab コンポーネントによるコンテンツナビゲーションを案内するガイドです。遅延・動的読み込み、ドラッグによる並べ替え、レイアウト、選択状態の保存を扱います。

主な機能

  1. 01タブ位置とコンテンツ読み込み方式の設定
  2. 02ドラッグによるタブ項目の並べ替え
  3. 03切り替えアニメーションとコンテンツ高さの設定
  4. 04選択中のタブ状態の保存
  5. 05キーボード操作、RTL、ローカライズの設定

活用シーン

  1. 01関連するページ内容の分類
  2. 02段階的に進むウィザード画面の構築
  3. 03タブ内容の遅延読み込みや動的置換
  4. 04ドラッグによるタブ順序の変更

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-tabs

インストール後、Claude Code で/syncfusion-aspnetcore-tabsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
advanced-features.md
api-reference.md
getting-started.md
styling-layout.md
tab-content-rendering.md
tab-interaction.md

詳細

Syncfusion Core Tabs の実装

Syncfusion Tab コンポーネントは、コンテンツを個別に選択できるタブに整理するためのナビゲーションコントロールです。各タブは、ヘッダーと、タブの選択時に表示される関連コンテンツで構成されます。

このスキルを使用する場面

  • 関連するコンテンツをタブナビゲーションで論理的なセクションに整理する
  • 手順に沿って進めるウィザード形式のインターフェースを作成する
  • 折りたたみ可能なアコーディオン形式のインターフェースを構築する
  • ドラッグ&ドロップで並べ替え可能なタブ項目を実装する
  • 選択状態を保持するタブ選択を設定する
  • ヘッダーのスタイル、位置、アニメーションをカスタマイズする
  • コンテンツを動的に、または外部ソースから読み込む

コンポーネントの概要

主な機能:

  • HeaderPlacement:上、下、左、右に配置
  • コンテンツの読み込みモード:Init(すべて)、Demand(遅延読み込み)、Dynamic(置き換え)
  • イベントコールバックを使用したドラッグ&ドロップによる並べ替え
  • スムーズな遷移のためのアニメーション設定
  • RTL サポートとローカライズ
  • ページの再読み込み後も状態を保持
  • キーボードナビゲーション(Tab キーのサポート)
  • 高さの管理:None、Auto、Content、Fill

主要なプロパティ:

  • items:ヘッダーとコンテンツを定義する TabItem オブジェクトの配列
  • selectedItem:アクティブなタブのインデックス
  • heightAdjustMode:コンテンツパネルの高さの動作を制御
  • allowDragAndDrop:ドラッグによる並べ替えを有効または無効にする
  • headerPlacement:タブヘッダーの位置
  • enablePersistence:再読み込み時に選択したタブを保存および復元
  • loadOn:コンテンツの読み込み方法(Init/Demand/Dynamic)

ドキュメントとナビゲーションガイド

はじめに

📄 参照先: references/getting-started.md

  • NuGet パッケージのインストールとセットアップ
  • Tag Helper の設定
  • CSS/スクリプトの参照(CDN と NPM)
  • TagHelper を使用した基本的な Tab の初期化
  • JSON の項目コレクションと HTML 要素のバインド
タブの設定とコンテンツ

📄 参照先: references/tab-content-rendering.md

  • タブヘッダーの構造とカスタマイズ
  • コンテンツのレンダリングモード(HTML、Partial View、External POST、テンプレート)
  • 動的なコンテンツの読み込みと設定
  • コンテンツテンプレートとインラインレンダリング
タブの操作機能

📄 参照先: references/tab-interaction.md

  • プログラムによるタブ選択とユーザー操作によるタブ選択
  • クリックハンドラーと選択イベント
  • Tab キーをサポートするキーボードナビゲーション
  • タブ間のドラッグ&ドロップによる並べ替え
  • 入れ子になったタブと階層構造
スタイルとレイアウト

📄 参照先: references/styling-layout.md

  • CSS クラスのカスタマイズ(e-fill、e-background、e-accent)
  • タブの高さとコンテンツの高さの調整モード
  • 水平方向のスクロールとポップアップによるオーバーフローモード
  • ヘッダーアイコンの配置と向き
  • レスポンシブデザインのパターン
高度な機能

📄 参照先: references/advanced-features.md

  • 状態保持の設定
  • ローカライズと国際化
  • RTL(右から左)サポート
  • アニメーションのカスタマイズ(前へ/次へエフェクト)
  • 折りたたみ可能なタブとウィザードのパターン
  • プログラム制御用の API メソッド
API リファレンス

📄 参照先: references/api-reference.md

  • API ドキュメントの全項目
  • すべてのプロパティと型、デフォルト値
  • イベントのシグネチャとパラメーター
  • 実行時の操作に使用するメソッド

クイックスタートの例

TagHelper 構文を使用した、3 項目の基本的な Tab:

@using Syncfusion.EJ2.Navigations;

<ejs-tab id="ej2Tab">
    <e-tab-tabitems>
        <e-tab-tabitem header="@(new TabHeader { Text = "Home" })" content="Welcome to home tab"></e-tab-tabitem>
        <e-tab-tabitem header="@(new TabHeader { Text = "Profile" })" content="Your profile information"></e-tab-tabitem>
        <e-tab-tabitem header="@(new TabHeader { Text = "Settings" })" content="Adjust your settings"></e-tab-tabitem>
    </e-tab-tabitems>
</ejs-tab>

よく使われるパターン

コンテンツの遅延読み込み(Demand モード)
<ejs-tab id="ej2Tab" loadOn="ContentLoad.Demand">
    <e-tab-tabitems>
        <e-tab-tabitem header="@(new TabHeader { Text = "Tab1" })" content="Content loads on demand"></e-tab-tabitem>
        <e-tab-tabitem header="@(new TabHeader { Text = "Tab2" })" content="Second tab content"></e-tab-tabitem>
    </e-tab-tabitems>
</ejs-tab>
動的コンテンツのみ(Dynamic モード)
<ejs-tab id="ej2Tab" loadOn="ContentLoad.Dynamic">
    
</ejs-tab>
ドラッグ&ドロップによる並べ替え
<ejs-tab id="ej2Tab" allowDragAndDrop="true">
    
</ejs-tab>
ヘッダーの配置(垂直ナビゲーション)
<ejs-tab id="ej2Tab" headerPlacement="@HeaderPosition.Left">
    
</ejs-tab>
高さの管理
<ejs-tab id="ej2Tab" heightAdjustMode="@HeightStyles.Auto">
    
</ejs-tab>
状態の保持
<ejs-tab id="ej2Tab" enablePersistence="true" selectedItem="1">
    
</ejs-tab>

主要イベント

イベントトリガー用途
selectingタブを選択する前タブの変更を検証するか、選択を防止します
selectedタブを選択した後タブの切り替え時に処理を実行し、ユーザーによる選択かプログラムによる選択かを検出します
addingタブ項目を追加する前新しい項目を挿入前に検証します
addedタブ項目を追加した後新しいタブの追加後に UI を更新します
removingタブ項目を削除する前削除を確認するか、データをクリーンアップします
removedタブ項目を削除した後削除後に状態を更新します
onDragStartドラッグ操作の前特定の項目のドラッグを防止します
draggingドラッグ操作中視覚的なフィードバックを提供します
draggedドロップ操作の後データを更新するか、外部ソースに移動します
createdコンポーネントの初期化時関連するコントロールを初期化します
destroyedコンポーネントの破棄時リソースをクリーンアップします

統合チェックリスト

  • NuGet パッケージをインストール済み:Syncfusion.EJ2.AspNet.Core
  • _ViewImports.cshtml に Tag Helper を登録済み
  • レイアウトで CSS テーマを参照済み(CDN または NPM)
  • レイアウトの body にスクリプトマネージャー <ejs-scripts> を配置済み
  • タブコンポーネントの ID がページごとに一意
  • コンテンツ戦略を選択済み(Init/Demand/Dynamic)
  • レイアウトに合わせて高さモードを設定済み
  • 動的な動作が必要な場合はイベントを接続済み
  • タブの状態を再読み込み後も保持する場合は永続化を有効化済み
  • アクセシビリティを確認済み(キーボード操作)

次のステップ: 機能要件に応じて、該当するリファレンスファイルを確認してください。基本的なセットアップについては getting-started.md から始め、必要に応じて高度な機能や API リファレンスを確認してください。

コメント