Vant3 Grid 宮格

2021-09-14 11:10 更新

介紹

宮格可以在水平方向上把頁面分隔成等寬度的區(qū)塊,用于展示內(nèi)容或進行頁面導航。

實例演示

引入

通過以下方式來全局注冊組件,更多注冊方式請參考組件注冊。

import { createApp } from 'vue';
import { Grid, GridItem } from 'vant';

const app = createApp();
app.use(Grid);
app.use(GridItem);

代碼演示

基礎(chǔ)用法

通過 icon 屬性設(shè)置格子內(nèi)的圖標,text 屬性設(shè)置文字內(nèi)容。

<van-grid>
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
</van-grid>

自定義列數(shù)

默認一行展示四個格子,可以通過 column-num 自定義列數(shù)。

<van-grid :column-num="3">
  <van-grid-item v-for="value in 6" :key="value" icon="photo-o" text="文字" />
</van-grid>

自定義內(nèi)容

通過插槽可以自定義格子展示的內(nèi)容。

<van-grid :border="false" :column-num="3">
  <van-grid-item>
    <van-image src="https://img.yzcdn.cn/vant/apple-1.jpg" rel="external nofollow"  />
  </van-grid-item>
  <van-grid-item>
    <van-image src="https://img.yzcdn.cn/vant/apple-2.jpg" rel="external nofollow"  />
  </van-grid-item>
  <van-grid-item>
    <van-image src="https://img.yzcdn.cn/vant/apple-3.jpg" rel="external nofollow"  />
  </van-grid-item>
</van-grid>

正方形格子

設(shè)置 square 屬性后,格子的高度會和寬度保持一致。

<van-grid square>
  <van-grid-item v-for="value in 8" :key="value" icon="photo-o" text="文字" />
</van-grid>

格子間距

通過 gutter 屬性設(shè)置格子之間的距離。

<van-grid :gutter="10">
  <van-grid-item v-for="value in 8" :key="value" icon="photo-o" text="文字" />
</van-grid>

內(nèi)容橫排

將 direction 屬性設(shè)置為 horizontal,可以讓宮格的內(nèi)容呈橫向排列。

<van-grid direction="horizontal" :column-num="3">
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
</van-grid>

頁面導航

通過 to 屬性設(shè)置 vue-router 跳轉(zhuǎn)鏈接,通過 url 屬性設(shè)置 URL 跳轉(zhuǎn)鏈接。

<van-grid clickable :column-num="2">
  <van-grid-item icon="home-o" text="路由跳轉(zhuǎn)" to="/" />
  <van-grid-item icon="search" text="URL 跳轉(zhuǎn)" url="/vant/mobile.html" />
</van-grid>

徽標提示

設(shè)置 dot 屬性后,會在圖標右上角展示一個小紅點。設(shè)置 badge 屬性后,會在圖標右上角展示相應的徽標。

<van-grid :column-num="2">
  <van-grid-item icon="home-o" text="文字" dot />
  <van-grid-item icon="search" text="文字" badge="99+" />
</van-grid>

API

Grid Props

參數(shù) 說明 類型 默認值
column-num 列數(shù) number | string 4
icon-size 圖標大小,默認單位為px number | string 28px
gutter 格子之間的間距,默認單位為px number | string 0
border 是否顯示邊框 boolean true
center 是否將格子內(nèi)容居中顯示 boolean true
square 是否將格子固定為正方形 boolean false
clickable 是否開啟格子點擊反饋 boolean false
direction 格子內(nèi)容排列的方向,可選值為 horizontal string vertical

GridItem Props

參數(shù) 說明 類型 默認值
text 文字 string -
icon 圖標名稱或圖片鏈接 string -
icon-prefix 圖標類名前綴,等同于 Icon 組件的 class-prefix 屬性 string van-icon
icon-color 圖標顏色,等同于 Icon 組件的 color 屬性 string -
reverse v3.1.0 是否調(diào)換圖標和文本的位置 boolean false
dot 是否顯示圖標右上角小紅點 boolean false
badge 圖標右上角徽標的內(nèi)容 number | string -
url 點擊后跳轉(zhuǎn)的鏈接地址 string -
to 點擊后跳轉(zhuǎn)的目標路由對象,等同于 vue-router 的 to 屬性 string | object -
replace 是否在跳轉(zhuǎn)時替換當前頁面歷史 boolean false

GridItem Events

事件名 說明 回調(diào)參數(shù)
click 點擊格子時觸發(fā) event: MouseEvent

GridItem Slots

名稱 說明
default 自定義宮格的所有內(nèi)容
icon 自定義圖標
text 自定義文字

樣式變量

組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請參考 ConfigProvider 組件。

名稱 默認值 描述
--van-grid-item-content-padding var(--van-padding-md) var(--van-padding-xs) -
--van-grid-item-content-background-color var(--van-white) -
--van-grid-item-content-active-color var(--van-active-color) -
--van-grid-item-icon-size 28px -
--van-grid-item-text-color var(--van-gray-7) -
--van-grid-item-text-font-size var(--van-font-size-sm) -


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號