更新记录

1.4.0102(2022-01-02)

  • 修复 微信小程序兼容问题 本次参考官方风格,采用虚拟自定义节点,优化代码结构,优化参数方法

1.3.1028(2021-10-28)

  • 更新 同步uni_modules更新版本
  • 调整 与uni_modules版一致,组件名:o-grid、o-grid-item 代码块:oGrid、oGridItem
  • 增加 间隔模式,间距固定
  • 增加 圆角,间隔模式下有效
  • 优化 移除点击事件预设方法,按需调用方法更合理
  • 更新 换了一组内置字体图标,约340个,收集自iconfont官网
  • 移除 因不常用、不兼容小程序,移除order排序

1.2.0316(2021-03-16)

1、对大家反馈升级HBuilderX后点击事件无效的问题进行修复和优化,当前在3.1.4版本下测试正常,还有问题请看示例或者留言反馈。 2、对col为空时默认状态进行了优化,默认为3栏。

查看更多

平台兼容性

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

说明

简单好用的宫格组件套,包含grid、grid-item两个组件,官方推荐使用unimodules版本 ^^

特性

  • 常用的移动端页面宫格组件
  • 支持角标红点和数字
  • 支持图片和字体图标,自动识别,
  • 内置从iconfont收集来的300多个图标
  • 兼容APP、H5及微信小程序
  • QQ交流群 1136131487

使用方法

在 template 中使用组件

<template>
    <view>

        <o-grid col="4" title="4列/其他参数默认">
            <o-grid-item text="普通跳转" dot icon="/static/logo.png" @click="goTo('../test/test')" />
            <o-grid-item text="图标列表" icon="icon-viewlist" @click="goTo('../tabbar/tabbar','tabbar')" />
            <o-grid-item text="普通跳转" dot icon="/static/logo.png" @click="goTo('../test/test')" />
            <o-grid-item text="图标列表" icon="icon-camera" @click="goTo('../tabbar/tabbar','tabbar')" />
            <o-grid-item text="普通跳转" icon="icon-feeds" @click="goTo('../test/test')" />
            <o-grid-item text="普通跳转" icon="icon-service" @click="goTo('../test/test')" />
            <o-grid-item text="普通跳转" icon="icon-feeds" @click="goTo('../test/test')" />
            <o-grid-item text="普通跳转" icon="icon-service" @click="goTo('../test/test')" />
        </o-grid>

        <o-grid col="4" border="0" square title="正方/无边/小图标" iconSize="sm">
            <o-grid-item text="内容标题" icon="icon-help1"></o-grid-item>
            <o-grid-item text="内容标题" badge="99+" icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" dot icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" icon="icon-help"></o-grid-item>
        </o-grid>

        <o-grid col="5" square title="5列/正方/小图标" iconSize="sm">
            <o-grid-item text="内容标题" icon="icon-help1"></o-grid-item>
            <o-grid-item text="内容标题" badge="99+" icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" dot icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" icon="icon-help"></o-grid-item>
            <o-grid-item text="内容标题" icon="/static/logo.png"></o-grid-item>
        </o-grid>

        <o-grid col="2" gutter radius title="两列/间隔/圆角">
            <o-grid-item text="内容标题" icon="icon-Newuserzone-fill"></o-grid-item>
            <o-grid-item text="内容标题" badge="99+" icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" dot icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" icon="icon-product-fill"></o-grid-item>
        </o-grid>

        <o-grid gutter title="间隔/其他默认">
            <o-grid-item text="内容标题" badge="99+" icon="/static/logo.png" />
            <o-grid-item text="内容标题" icon="icon-brand-fill" />
            <o-grid-item text="内容标题" dot icon="/static/logo.png" />
        </o-grid>

        <o-grid col="4" gutter square title="4列/间隔/方正">
            <o-grid-item text="内容标题" icon="icon-filter"></o-grid-item>
            <o-grid-item text="内容标题" badge="99+" icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" dot icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" icon="icon-block"></o-grid-item>
            <o-grid-item text="内容标题" icon="/static/logo.png"></o-grid-item>
            <o-grid-item text="内容标题" icon="/static/logo.png"></o-grid-item>
        </o-grid>

        <o-grid col="5" gutter square radius title="间隔/圆角/正方/大图标" iconSize="sm">
            <o-grid-item text="内容标题1" icon="icon-pcm" @click="goTo('../test/test')" />
            <o-grid-item text="tabbar" icon="icon-clock" @click="goTo('../tabbar/tabbar','tabbar')" />
            <o-grid-item text="跳转" dot icon="icon-color" @click="goTo('../test/test')" />
            <o-grid-item text="内容标题" icon="icon-jpge-fill"></o-grid-item>
            <o-grid-item text="内容标题" icon="/static/logo.png"></o-grid-item>
        </o-grid>

    </view>
</template>

<script>

    export default {
        data() {
            return { }
        },
        methods: {
            goTo(url,type){
                switch (type) {
                    case 'tabbar':{ //跳转到tabbar页
                        uni.switchTab({ url:url })
                        break;
                    }
                    case 'back':{ //返回上一页,只有当前为非tabbar页起作用
                        uni.navigateBack({ delta:1 });
                        break;
                    }
                    case 'modal':{ //弹出对话框
                        uni.showModal({
                            title:url,
                            content:'test'
                        });
                        break;
                    }
                    case 'toast':{ //弹出提示框
                        uni.showToast({
                            icon:'none',
                            title:url
                        });
                        break;
                    }
                    default:{ //非tabbar页跳转
                        if (!url) { console.log('没填写路径!') }
                        else {
                            uni.navigateTo({ url:url});
                            console.log('点了')
                        }
                    }
                }
            }
        }
    }
</script>

API

o-grid Props

属性名 类型 默认值 可选值 说明
col Number,String 3 2~5 列,可填任意数,<2则=2,>5则=5
title String - Grid组标题
border Number,String true false,0 是否显示边框 非gutter模式有效
size String md sm、md、lg 图标尺寸 差值6rpx
square Boolean,String false false、true 开启正方格
gutter Boolean,String false false、true 开启间隔
radius Boolean,String false false、true 开启圆角,gutter模式下有效

o-grid-item Props

属性名 类型 默认值 可选值 说明
text String - - 文字
icon String - - 图标,支持图片和字体
hoverClass String - - 点击时的样式
dot Boolean - - 红点角标
badge Number,String - - 数字角标
@click - - - 点击事件,调用自定义方法

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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