Skip to content

Grid 宫格布局

用于等宽多列图标菜单、数据平铺矩阵、Bento 悬浮卡片组的网格布局控件,支持分栏数量控制、分割线显示、徽章角标与点击缩放反馈。


代码示例

1. 基础 3 列宫格 (3 Columns)

通过 columns 属性指定网格列数,默认为 4 列。使用 mu-grid-item 进行项填充。

vue
<template>
  <mu-grid :column="3">
    <mu-grid-item icon="user" text="个人中心" @click="handleClick('个人中心')" />
    <mu-grid-item icon="bell" text="消息通知" @click="handleClick('消息通知')" />
    <mu-grid-item icon="settings" text="系统设置" @click="handleClick('系统设置')" />
  </mu-grid>
</template>

<script setup>
const handleClick = (name) => {
  console.log('点击了宫格:', name)
}
</script>

2. 4 列宫格与徽章角标 (Badges)

mu-grid-item 上配置 badgedot 显示数字提示、文字红点徽标。

vue
<template>
  <mu-grid :column="4">
    <mu-grid-item icon="heart" text="收藏" badge="HOT" />
    <mu-grid-item icon="share" text="分享" badge="NEW" />
    <mu-grid-item icon="star" text="加星" badge="99+" />
    <mu-grid-item icon="check" text="已办" dot />
  </mu-grid>
</template>

3. 无边框平铺形态 (Borderless)

设置 :border="false" 隐藏分割粗线,呈现极简平铺形态。

vue
<template>
  <mu-grid :column="4" :border="false">
    <mu-grid-item icon="edit" text="编辑" />
    <mu-grid-item icon="delete" text="删除" />
    <mu-grid-item icon="filter" text="筛选" />
    <mu-grid-item icon="more" text="更多" />
  </mu-grid>
</template>

API 属性说明

Grid Props

参数名说明类型可选值默认值
columns宫格列数Number | String-4
border是否显示网格分割线Booleantrue | falsetrue
square是否保持 1:1 正方形网格Booleantrue | falsefalse
gutter宫格间距 (rpx)Number | String-0
clickable是否开启按压反馈与点击手势Booleantrue | falsetrue
mode宫格展现模式Stringnormal | card'normal'
background宫格容器背景颜色String-''

GridItem Props

参数名说明类型可选值默认值
text标题文案String-''
subText副标题文案String-''
icon矢量图标名称或图片网络链接String-''
iconSize图标尺寸 (rpx)Number | String-24
iconColor图标颜色String-''
textColor标题文字颜色String-''
badge徽章文案或数字Number | String-0
dot是否显示为小红点Booleantrue | falsefalse

事件说明

事件名说明回调参数
click点击宫格单项时触发({ index: Number, text: String })

插槽说明 (Slots)

插槽名说明
default宫格子项 <mu-grid-item> 填充容器插槽

基于 MIT 协议开源发行

H5 模拟器 (grid)☀️🔄