更新记录

0.0.3(2024-10-06) 下载此版本

  • chore: 更新依赖

0.0.2(2024-10-06) 下载此版本

  • fix: 修复vue2类型问题

0.0.1(2024-10-06) 下载此版本

  • init
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.26 app-vue app-uvue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × ×

lime-grid 宫格

  • 宫格布局用于功能入口布局,将页面或特定区域切分成若干等大的区块,形成若干功能入口。uniapp/uniappx(h5,ios,安卓)
  • 插件依赖lime-style,lime-icon,lime-badge,lime-shared,不喜勿下

安装

在插件市场导入即可,首次可能需要重新编译

代码演示

基础使用

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

<l-grid>
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
    <l-grid-item text="最多五个字" image="https://tdesign.gtimg.com/mobile/demos/avatar4.png" />
</l-grid>

自定义列数

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

<l-grid :column="5">
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar4.png" />
    <l-grid-item text="最多四字" image="https://tdesign.gtimg.com/mobile/demos/avatar5.png" />
</l-grid>

页面导航

可以通过url属性进行页面跳转,通过openType属性控制跳转类型。

<l-grid :column="3">
    <l-grid-item text="跳到首页" url="/pages/index/index" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="跳到首页" url="/pages/index/index" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="跳到首页" url="/pages/index/index" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
</l-grid>

格子间距

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

<l-grid :gutter="10">
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar4.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar4.png" />
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
</l-grid>

带描述宫格

通过description属性详细描述

<l-grid :column="3">
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="最多六个文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
</l-grid>

内容横排

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

<l-grid :column="2" align="left">
    <l-grid-item text="标题文字" description="描述文字" layout="horizontal" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" description="描述文字" layout="horizontal" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
</l-grid>

带边框宫格

通过border属性设置为true可给格子加描边。

<l-grid :column="3" :border="true">
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar4.png" />
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar5.png" />
    <l-grid-item text="标题文字" description="描述文字" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
</l-grid>

提示信息

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

<l-grid>
    <l-grid-item text="标题文字" :dot="true" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" badge="5" image="https://tdesign.gtimg.com/mobile/demos/avatar2.png" />
    <l-grid-item text="标题文字" badge="15" image="https://tdesign.gtimg.com/mobile/demos/avatar3.png" />
    <l-grid-item text="标题文字" badge="New" image="https://tdesign.gtimg.com/mobile/demos/avatar4.png" />
</l-grid>

插槽

icon插槽,text插槽,description插槽

<l-grid>
    <l-grid-item text="标题文字">
        <template #icon>
            <l-icon name="undertake-hold-up" size="48rpx"></l-icon>
        </template>
    </l-grid-item>
    <l-grid-item icon="undertake-hold-up">
        <template #text>
            <text>标题文字</text>
        </template>
    </l-grid-item>
    <l-grid-item text="标题文字" icon="undertake-hold-up">
        <template #description>
            <text>详情描述</text>
        </template>
    </l-grid-item>
</l-grid>

卡片

通过inset属性可以设置为卡片

<l-grid :inset="true">
    <l-grid-item text="标题文字" image="https://tdesign.gtimg.com/mobile/demos/avatar1.png" />
    <l-grid-item text="标题文字" icon="star"/>
    <l-grid-item text="标题文字" icon="download"/>
    <l-grid-item text="标题文字" icon="edit"/>
</l-grid>

查看示例

  • 导入后直接使用这个标签查看演示效果
 // 代码位于 uni_modules/lime-grid/compoents/lime-grid 
<lime-grid />

插件标签

  • 默认 l-grid 为 component
  • 默认 l-grid-item 为 component
  • 默认 lime-grid 为 demo

关于vue2的使用方式

  • 插件使用了composition-api, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置
  • 关键代码是: 在main.js中 在vue2部分加上这一段即可.
// vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

API

Grid Props

参数 说明 类型 默认值
title 分组标题 string -
inset 是否展示为圆角卡片风格 boolean false
align 内容的对齐方式,默认居中对齐。可选项:left/center string center

GridItem Props

参数 说明 类型 默认值
text 标题 string -
description 标题下方的描述信息 string -
icon 图标名称,等同于 Icon 组件的 name 属性 string -
iconColor 图标颜色 string -
iconSize 图标尺寸 string -
layout 内容布局方式。可选项:vertical/horizontal string vertical
image 图片链接 string -
url 点击后跳转的链接地址 string -
dot 是否显示图标右上角小红点 boolean false
badge 图标右上角徽标的内容 string | number _
bordered 是否显示内边框 boolean true
hover 是否开启点击反馈 boolean false
openType 链接跳转类型,可选值:switchTab/reLaunch/redirectTo string navigateTo
imageWidth 图片宽度 string -
imageHeight 图片高度 string -
bgColor 背景色 string -
borderColor 描边色 string -

GridItem Events

事件名 说明 回调参数
click 点击单元格时触发 event: UniPointerEvent

GridItem Slots

名称 说明
title 自定义左侧标题
description 自定义标题下方的描述信息
icon 自定义左侧图标

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式)。uvue app无效。

名称 默认值 描述
--l-grid-item-vertical-padding: 32rpx 0 24rpx -
--l-grid-item-horizontal-padding: 32rpx 0 -
--l-grid-item-bg-color: white -
--l-grid-item-image-bg-color: $fill-4 -
--l-grid-item-image-border-radius: $border-radius -
--l-grid-item-image-width: 96rpx -
--l-grid-item-image-small-width: 32rpx -
--l-grid-item-image-middle-width: 80rpx -
--l-grid-item-text-color: $text-color-1 -
--l-grid-item-text-font-size: 28rpx -
--l-grid-item-text-small-font-size: 24rpx -
--l-grid-item-text-line-height: 44rpx -
--l-grid-item-text-padding-top: 16rpx -
--l-grid-item-description-font-size: 24rpx -
--l-grid-item-description-line-height: 40rpx -
--l-grid-item-description-color: $text-color-3 -
--l-grid-item-description-padding-top: 8rpx -
--l-grid-item-hover-bg-color: $fill-4 -
--l-grid-item-horizontal-text-padding-left: 24rpx -
--l-grid-item-horizontal-text-description-top: 4rpx -
--l-grid-item-border-color: $border-color-1 -
--l-grid-item-icon-size: 48rpx -

打赏

如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问