介绍
宫格可以在水平方向上把页面分隔成等宽度的区块,用于展示内容或进行页面导航。
引入
代码演示
基础用法
通过 `icon` 属性设置格子内的图标,`text` 属性设置文字内容。
自定义列数
默认一行展示四个格子,可以通过 `column-num` 自定义列数。
自定义内容
通过插槽可以自定义格子展示的内容。
正方形格子
设置 `square` 属性后,格子的高度会和宽度保持一致。
格子间距
通过 `gutter` 属性设置格子之间的距离。
内容横排
将 `direction` 属性设置为 `horizontal`,可以让宫格的内容呈横向排列。
页面导航
通过 `to` 属性设置 `vue-router` 跳转链接,通过 `url` 属性设置 URL 跳转链接。
徽标提示
设置 `dot` 属性后,会在图标右上角展示一个小红点。设置 `badge` 属性后,会在图标右上角展示相应的徽标。
API
Grid Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
column-num | 列数 | number / string | 4 | |
icon-size | 图标大小,默认单位为px | number / string | 28px | |
gutter | 格子之间的间距,默认单位为px | number / string | 0 | |
border | 是否显示边框 | boolean | true | |
center | 是否将格子内容居中显示 | boolean | true | |
square | 是否将格子固定为正方形 | boolean | false | |
clickable | 是否开启格子点击反馈 | boolean | false | |
direction v2.8.2 | 格子内容排列的方向,可选值为 horizontal | string | vertical |
GridItem Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
text | 文字 | string | - | |
icon | [图标名称](https://youzan.github.io/vant/v2/#/zh-CN/icon)或图片链接 | string | - | |
icon-prefix v2.5.3 | 图标类名前缀,同 Icon 组件的 [class-prefix 属性](https://youzan.github.io/vant/v2/#/zh-CN/icon#props) | string | van-icon | |
dot | 是否显示图标右上角小红点 | boolean | false | |
badge v2.5.6 | 图标右上角徽标的内容 | number / string | - | |
info 2.2.1 | 图标右上角徽标的内容(已废弃,请使用 badge 属性) | number / string | - | |
url | 点击后跳转的链接地址 | string | - | |
to | 点击后跳转的目标路由对象,同 vue-router 的 [to 属性](https://router.vuejs.org/zh/api/#to) | string / object | - | |
replace | 是否在跳转时替换当前页面历史 | boolean | false |
GridItem Events
事件名 | 说明 | 回调参数 | |
---|---|---|---|
click | 点击格子时触发 | event: Event |
GridItem Slots
名称 | 说明 | |
---|---|---|
default | 自定义宫格的所有内容 | |
icon | 自定义图标 | |
text | 自定义文字 |
样式变量
组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考
。
名称 | 默认值 | 描述 | |
---|---|---|---|
@grid-item-content-padding | @padding-md @padding-xs | - | |
@grid-item-content-background-color | @white | - | |
@grid-item-content-active-color | @active-color | - | |
@grid-item-icon-size | 28px | - | |
@grid-item-text-color | @gray-7 | - | |
@grid-item-text-font-size | @font-size-sm | - |
效果图: