最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実装する需要が高まっています。そこで、週末を利用して、`Tabs` コンポーネントをベースにした `ReuseTabs` コンポーネントを Blazor の組み込みルーティング コンポーネントと組み合わせて実装しました。 最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実装する需要が高まっています。そこで、週末を利用して、 序文Blazor は、.NET の最新のフロントエンド フレームワークです。WebAssembly または SignalR (WebSocket) に基づいてフロントエンド アプリケーションを構築できます。WebAssembly ホスティング モデルに基づく Blazor は、オフラインでも実行できます。さらに、.NET クラスライブラリを共有できるため、従来の JS ベースのフロントエンドとバックエンドの分離モデルと比較して、コード量を 1/3 に削減できます。 .NET 開発者は、使い慣れたテクノロジと経験を活用してフロントエンド アプリケーションを開発できるようになりました。異なるテクノロジ スタックを持つ開発者間の通信コストも大幅に削減され、生産性がさらに向上します。 つまり、Blazor は .NET 開発者にとってもう 1 つの生産性向上テクノロジーなのです。 Blazor コミュニティ エコシステムのオープン ソース UI コンポーネント ライブラリを使用することで、よく使用されるコンポーネントがカプセル化され、ユーザーは JS や CSS を記述する必要がなくなり、コミュニティの .NET 開発者から高い評価を得ています。現在、Blazor をベースに構築されたエンタープライズレベルのアプリケーションが多数導入・リリースされており、企業に徐々に認知されつつあります。 文章複数のタブを多重化するルーティングとはこの記事のタイトルにあるルート再利用は、Angularの Blazor は C# コードを再利用できるという利点があるため、バックグラウンド管理システムの構築によく使用され、タブの使用が一般的な要求となっています。ただし、公式の Blazor チームはそのようなコンポーネントを直接提供していないため、実装するにはコミュニティのパートナーが必要です。 しかし、コミュニティ内のいくつかのオープンソース コンポーネント ライブラリを見ると、それらはすべて一般的な Tabs タブ コンポーネントのみを実装しており、切り替えパネルとしてのみ使用できます。 「マルチタブ」機能を実装するには、サポートされていないか、独自のメニュー コンポーネントとレイアウト コンポーネントに直接的または間接的に依存し、ページ ファイル パスに依存し、ページ コンポーネント タイプを結合し、最後にリフレクションを使用してページ コンポーネントを作成する必要があります... マルチタブ機能は実装されていますが、実装はあまりエレガントではありません。結合度が非常に高く、コンポーネントライブラリ自身のフレームワークレイアウトでのみ使用でき、個別に使用することはできません。また、リフレクションのパフォーマンスも良くなく、規約に従ってページを配置する必要があり、ユーザーにさまざまな制限を課しています。 もちろん、コミュニティ内で流通しているより認知度の高いソリューションとして、 Ant Design Blazor の ReuseTabs コンポーネント最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実装する需要が高まっています。そこで、週末の時間を利用して、 主な特徴
以下では、dotnet new テンプレート プロジェクトを例に、基本的な使用方法を紹介します。 使い方まず、Ant Design Blazor ドキュメントの説明に従って、AntDesign パッケージとサービス登録をインストールします。 次に、プロジェクト内の <ルーター AppAssembly="@typeof(Program).Assembly"> <コンテキスト="routeData">が見つかりました - <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" / > + <ReuseTabsRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" /> </見つかりました> ... </ルーター> プロジェクト内の @LayoutComponentBase を継承します <div class="page"> <div class="サイドバー"> <ナビゲーションメニュー /> </div> <div class="main"> - <div class="top-row px-4"> - <a href="http://blazor.net" rel="external nofollow" target="_blank" class="ml-md-auto">概要</a> - </div> - <div class="content px-4"> - @体 - </div> + <ReuseTabs Class="top-row px-4" TabPaneClass="content px-4" / > </div> </div> タグ名をカスタマイズする2つの方法 プレーンテキストの場合は、ページ コンポーネントで @ページ "/counter" + @attribute [ReuseTabsPageTitle("カウンター")] 別のコンポーネントを追加したり、ページ コンテンツからタイトルを取得したりするなど、テンプレートを使用して動的なタブ名を取得する必要がある場合は、 @ページ "/" + @implements IReuseTabsPage <h1>こんにちは、世界!</h1> @コード{ + パブリック RenderFragment GetPageTitle() => + @<div> + <Icon Type="home"/> ホーム + </div> + ; } 注: 後続の機能現在、このコンポーネントは基本的な機能のみを実装しており、一部の機能は後続の計画に含まれています。
追記Blazorコミュニティは1年以上前から複数タブの実現を求めてきましたが、ここ数日でようやく実現しました。国内外のコミュニティは歓喜し、大きな達成感を感じています。 実装の詳細については、興味のある学生は Ant Design Blazor のソース コード (数個のファイルのみ) を確認できます。もちろん、興味を持っている学生がたくさんいれば、詳しく紹介する記事を書くこともできます。 実際、コミュニティ内のより多くの愛好家が立ち上がり、経験を共有し、オープンソース プロジェクトに貢献することで、コミュニティが健全に発展することを願っています。 最後に、ユーザーと貢献者の皆様のご支援に心より感謝申し上げます。彼らの問題、事例、PR はどれも私たちの肯定であり、私たちが頑張り続ける原動力です。 参考リンク https://github.com/BlazorPlus/BlazorDemoMultiPagesTab https://github.com/ant-design-blazor/demo-reuse-tabs ナイトリービルド Ant Design Blazor コンポーネント ライブラリの複数タブのルーティング再利用に関するこの記事はこれで終わりです。Ant Design Blazor コンポーネント ライブラリの関連コンテンツについては、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Linux コマンドラインでメールを送信する 5 つの方法 (推奨)
1.移行遷移プロパティの使用法: transition :transition-property t...
この記事では、MySQL ストアド プロシージャの使用方法について説明します。ご参考までに、詳細は以...
ハッシュ結合ハッシュ結合は実行にインデックスを必要とせず、ほとんどの場合、現在のブロックネストループ...
1. ダウンロード参考: https://www.jb51.net/softs/451120.ht...
目次01 sql_slave_skip_counter パラメータ02 スレーブスキップエラーパラメ...
目次1. CDNの紹介1.1 react (最初にインポート) 1.2 react-dom(後ほど紹...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...
シナリオの説明あるシステムでは、機能サービスはdocker stack deploy xxxで起動し...
ウェブを閲覧しているときに 404 ページに遭遇することはあまりないので、見落としがちです。しかし、...
目次1. 準備1. 環境を整える2. インストール方法3. ネットワークカードの構成2. インストー...
目次LAMPアーキテクチャ1.ランプの紹介2. WebサービスワークフローWebサーバーのリソースは...
目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....
目次コンテナデータボリュームとはコンテナ データ ボリュームが必要なのはなぜですか?使用データボリュ...
閉鎖による問題を回避するためのletについてオブジェクト指向の考え方を使用して、購入者情報の削除機能...