返回介绍

Grid 宫格

发布于 2020-10-24 06:04:56 字数 9567 浏览 3970 评论 0 收藏 0

介绍

宫格可以在水平方向上把页面分隔成等宽度的区块,用于展示内容或进行页面导航。

引入

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

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

代码演示

基础用法

通过 icon 属性设置格子内的图标,text 属性设置文字内容。

<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>

自定义列数

默认一行展示四个格子,可以通过 column-num 自定义列数。

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

自定义内容

通过插槽可以自定义格子展示的内容。

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

正方形格子

设置 square 属性后,格子的高度会和宽度保持一致。

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

格子间距

通过 gutter 属性设置格子之间的距离。

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

内容横排

direction 属性设置为 horizontal,可以让宫格的内容呈横向排列。

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

页面导航

通过 to 属性设置 vue-router 跳转链接,通过 url 属性设置 URL 跳转链接。

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

徽标提示

设置 dot 属性后,会在图标右上角展示一个小红点。设置 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

参数说明类型默认值
column-num列数number / string4
icon-size图标大小,默认单位为pxnumber / string28px
gutter格子之间的间距,默认单位为pxnumber / string0
border是否显示边框booleantrue
center是否将格子内容居中显示booleantrue
square是否将格子固定为正方形booleanfalse
clickable是否开启格子点击反馈booleanfalse
direction v2.8.2格子内容排列的方向,可选值为 horizontalstringvertical

GridItem Props

参数说明类型默认值
text文字string-
icon图标名称或图片链接string-
icon-prefix v2.5.3图标类名前缀,同 Icon 组件的 class-prefix 属性stringvan-icon
dot是否显示图标右上角小红点booleanfalse
badge v2.5.6图标右上角徽标的内容number / string-
url点击后跳转的链接地址string-
to点击后跳转的目标路由对象,同 vue-router 的 to 属性string / object-
replace是否在跳转时替换当前页面历史booleanfalse

GridItem Events

事件名说明回调参数
click点击格子时触发event: Event

GridItem Slots

名称说明
default自定义宫格的所有内容
icon自定义图标
text自定义文字

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文