# Grid 宫格


# 引入

在 app.json 或 index.json 中引入组件,详细介绍见快速上手

"usingComponents": {
  "lin-grid": "/dist/grid/index",
  "lin-grid-item": "/dist/grid-item/index"
}

# 基础用法

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

代码示例
<lin-grid>
  <lin-grid-item icon="pic" text="文字" />
  <lin-grid-item icon="pic" text="文字" />
  <lin-grid-item icon="pic" text="文字" />
  <lin-grid-item icon="pic" text="文字" />
</lin-grid>

# 自定义列数

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

代码示例
<lin-grid column-num="3">
  <lin-grid-item icon="pic" text="文字" wx:for="{ { 6 }}" wx:key="index" />
</lin-grid>

# 自定义内容

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

代码示例
<lin-grid column-num="3" border="{ { false }}">
  <lin-grid-item useSlot wx:for="{ { 3 }}" wx:key="index">
    <view>我是自定义内容---{ {index}}</view>
  </lin-grid-item>
</lin-grid>

# 正方形格子

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

代码示例
<lin-grid square>
  <lin-grid-item wx:key="index" icon="pic" text="文字" wx:for="{ { 8 }}" />
</lin-grid>

# 格子间距

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

代码示例
<lin-grid gutter="{ { 10 }}">
  <lin-grid-item wx:key="index" icon="pic" text="文字" wx:for="{ { 8 }}" />
</lin-grid>

# 内容横排

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

代码示例
<lin-grid direction="horizontal" column-num="3">
  <lin-grid-item icon="pic" text="文字" />
  <lin-grid-item icon="pic" text="文字" />
  <lin-grid-item icon="pic" text="文字" />
</lin-grid>

# 页面跳转

可以通过url属性进行页面跳转,通过link-type属性控制跳转类型

代码示例
<lin-grid clickable column-num="2">
  <lin-grid-item
    icon="pic"
    link-type="navigateTo"
    url="/pages/navigator/index/index"
    text="Navigate 跳转"
  />
  <lin-grid-item
    icon="search"
    link-type="reLaunch"
    url="/pages/navigator/index/index"
    text="ReLaunch 跳转"
  />
</lin-grid>

# 提示信息

设置dot属性后,会在图标右上角展示一个小红点。设置badge属性后,会在图标右上角展示相应的徽标

代码示例
<lin-grid column-num="2">
  <lin-grid-item icon="pic" text="文字" dot />
  <lin-grid-item icon="search" text="文字" badge="99+" />
</lin-grid>

# Grid 属性

参数 说明 类型 可选值 默认值
columnNum 列数 Number 4
iconSize 图标大小,默认单位为 px String, Number 56rpx
gutter 格子之间的间距,默认单位为 px String, Number 0
border 是否显示边框 Boolean true
center 是否将格子内容居中显示 Boolean true
square 是否将格子固定为正方形 Boolean false
direction 格子内容排列的方向 String vertical, horizontal vertical

# Grid 外部样式类

类名 说明
custom-class 根节点样式类

# GridItem 属性

参数 说明 类型 可选值 默认值
text 文字 String
icon 图标名称 String
iconColor 图标颜色 String
dot 是否显示图标右上角小红点 Boolean false
badge 图标右上角徽标的内容 String
url 点击后跳转的链接地址 String
useSlot 是否使用默认插槽 Boolean false
linkType 链接跳转类型 String navigateTo, redirectTo, switchTab, reLaunch navigateTo

# GridItem 事件

事件名 说明 参数
bind:click 点击格子时触发

# GridItem 插槽

插槽名称 说明
自定义宫格的所有内容,需要设置use-slot属性
icon 自定义图标,如果设置了use-slot或者icon属性则不生效
text 自定义文字,如果设置了use-slot或者text属性则不生效

# GridItem 外部样式类

类名 说明
custom-class 根节点样式类
content-class 内容样式类
icon-class 图标样式类
text-class 文本样式类