Skip to content

Grid グリッド - Vant 4

Grid グリッド

🏢 紹介

Grid グリッドはスマートな収納ボックスのようなものです!✨ ページを均等な幅の小さなグリッドに整然と分割し、コンテンツの表示を整理整頓します。アプリのホームページの機能エントリー、ECサイトの商品表示、カテゴリーナビゲーションの整列など、Grid を使えばページが瞬時にプロフェッショナルで美しくなります!積み木を組むように簡単で、無限の可能性のあるレイアウト効果を作り出すことができます!🎯

📦 導入

以下の方法でコンポーネントをグローバルに登録します。詳細な登録方法については、コンポーネント登録を参照してください。

js
import { createApp } from'vue'; import { Grid, GridItem } from'vant'; const app = createApp(); app.use(Grid); app.use(GridItem);

🎯 コードデモ

🎯 基本的な使い方

最もシンプルなグリッドの魔法!✨ icon 属性で各グリッドに美しいアイコンを追加し、text 属性で説明テキストを追加します。各小部屋にラベルを貼るように、ユーザーは一見して各グリッドの用途を理解できます!シンプルで明確で、見た目も実用性も兼ね備えています!🏠

html

🔢 列数のカスタマイズ

レイアウトの自由度が最大!🎨 デフォルトでは一行に4つのグリッドが表示されますが、column-num 属性で自由に列数を調整できます。よりコンパクトにしたいですか?5列に設定しましょう!よりゆったりとしたレイアウトが欲しいですか?3列に設定しましょう!デザインニーズに応じて決めることができ、各ページに独特なリズムを与えることができます!

html

🎭 コンテンツのカスタマイズ

創造性を無限に発揮できるステージ!✨ スロット機能を使えば、各グリッドに好きなコンテンツを自由に配置できます。シンプルなアイコンやテキストに限定されず、画像、ボタン、小さなコンポーネント...何でも可能です!各グリッドに魔法の箱を装備したように、何でも入れることができます!🎪

html

⬜ 正方形グリッド

完璧な幾何学的美学!📐 square 属性を設定すると、各グリッドが標準的な正方形になり、高さと幅が完全に一致します。丁寧にカットされたタイルのように整然と並び、強迫性障害の人でも満足できる視覚的な喜びを提供します!特にアイコンの表示や対称的なレイアウトに最適です!

html

📏 グリッド間隔

グリッドたちに呼吸のスペースを与えましょう!🌬️ gutter 属性でグリッド間の距離を精密に制御できます。コンパクトな感じを出したいですか?間隔を小さく設定しましょう。開放的なレイアウトで通気性を高めたいですか?間隔を大きくすれば完璧です!部屋の家具の配置間隔を調整するように、適切な間隔で全体のレイアウトをより快適にすることができます!

html

↔️ コンテンツの横並び

世界を見る角度を変えよう!🔄 direction 属性を horizontal に設定すると、グリッド内のアイコンとテキストが上下配置から左右配置に変わります。縦型の名刺を横型に変えるように、ユーザーに異なる視覚体験をもたらします。特にテキストが長い場合や、横方向の流動感を演出したい場面に最適です!

html

🧭 ページナビゲーション

各グリッドをポータルにしましょう!🚀 to 属性で Vue Router のルート遷移を設定し、アプリ内でのシームレスなナビゲーションを実現します。url 属性で外部リンクの遷移を設定し、ユーザーをどこでも連れて行くことができます。各グリッドにナビゲーションシステムを搭載したように、一クリックで目的地に到達し、ユーザーエクスペリエンスが非常にスムーズです!

html

🔴 バッジの表示

小さな細部が大きな効果を!✨ dot 属性を設定すると、アイコンの右上に目立つ小さな赤い点が表示され、携帯アプリの未読メッセージ通知のようになります。badge 属性を設定すると、具体的な数字やテキストのバッジを表示できます。これらの小さな視覚的なヒントは、ユーザーの注意を効果的に引き、重要な情報が見落とされないようにします!🎯

html

API

Grid Props

パラメータ説明デフォルト値
column-num列数number | string4
icon-sizeアイコンのサイズ、デフォルトの単位はpxnumber | string28px
gutterグリッド間の間隔、デフォルトの単位はpxnumber | string0
borderボーダーを表示するかどうかbooleantrue
centerグリッドの内容を中央に表示するかどうかbooleantrue
squareグリッドを正方形に固定するかどうかbooleanfalse
clickableグリッドのクリックフィードバックを有効にするかどうかbooleanfalse
directionグリッド内のコンテンツの配置方向、horizontal が使用可能stringvertical
reverseアイコンとテキストの位置を入れ替えるかどうかbooleanfalse

GridItem Props

パラメータ説明デフォルト値
textテキストstring-
iconアイコン名または画像のリンク、Icon コンポーネントの name 属性 と同じstring-
icon-prefixアイコンのクラスプレフィックス、Icon コンポーネントの class-prefix 属性 と同じstringvan-icon
icon-colorアイコンの色、Icon コンポーネントの color 属性 と同じstring-
dotアイコンの右上に赤い点を表示するかどうかbooleanfalse
badgeアイコンの右上のバッジの内容number | string-
badge-propsバッジのカスタムプロパティ、渡されたオブジェクトは Badge コンポーネントの props に渡されますBadgeProps-
urlクリック時に遷移するリンク先string-
toクリック時に遷移するルートオブジェクト、Vue Router の to 属性 と同じstring | object-
replace遷移時に現在のページ履歴を置き換えるかどうかbooleanfalse

GridItem Events

イベント名説明コールバックパラメータ
clickグリッドをクリックしたときにトリガーされますevent: MouseEvent

GridItem Slots

名前説明
defaultグリッドのすべてのコンテンツをカスタマイズ
iconアイコンをカスタマイズ
textテキストをカスタマイズ

型定義

コンポーネントは以下の型定義をエクスポートします:

ts
importtype { GridProps, GridDirection, GridItemProps } from'vant';

テーマカスタマイズ

スタイル変数

コンポーネントは以下の CSS 変数を提供しており、カスタムスタイルに使用できます。使用方法については、ConfigProvider コンポーネントを参照してください。

名前デフォルト値説明
--van-grid-item-content-paddingvar(--van-padding-md) var(--van-padding-xs)-
--van-grid-item-content-backgroundvar(--van-background-2)-
--van-grid-item-content-active-colorvar(--van-active-color)-
--van-grid-item-icon-size28px-
--van-grid-item-text-colorvar(--van-text-color)-
--van-grid-item-text-font-sizevar(--van-font-size-sm)-

📚 関連文書

Grid グリッドはこれらのコンポーネントと組み合わせて使用することで、より豊富なページレイアウト体験を作り出すことができます:

  • Icon アイコン - Grid グリッドの視覚的な中核で、各エントリーに専属の識別マークを付けます 🎨
  • Badge バッジ - グリッド右上の小さなヒントで、重要な情報を見逃しません 🔴
  • Button ボタン - グリッドに配置できるインタラクティブ要素で、操作体験を向上させます 🔘
  • Image 画像 - カスタムコンテンツの良き相棒で、グリッドをより多彩にします 🖼️
  • Cell セル - 別のリストレイアウトの選択肢で、より詳細な情報表示に適しています 📋
  • List リスト - 垂直レイアウトの完璧なパートナーで、様々な場面のレイアウト選択肢 📝
  • Tab タブ - ページナビゲーションの別の形式で、Grid と相補的な関係にあります 📑
  • NavBar ナビゲーションバー - ページ上部のナビゲーションで、Grid と組み合わせて完全なナビゲーションシステムを構築 🧭
  • Tabbar タブバー - 下部のナビゲーションバーで、Grid と上下に呼応します 📱
  • ActionSheet アクションシート - グリッドをクリックした後の操作選択パネル 📋

Vant に基づく企業向けモバイルソリューション