更新记录

1.6.0722(2023-07-19)

  • 优化图标为空值时的识别度,以方便输出默认图片

1.6.0721(2023-07-19)

  • 调整优化自定义内容时宫格样式
  • 补充默认图片

1.6.0720(2023-07-19)

  • 调整优化自定义内容时宫格样式
查看更多

平台兼容性

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

说明

比Uni官方版还好用的宫格组件,包含grid、grid-item两个组件,当前为uni_modules版本

特性

  • 常用的移动端页面宫格组件
  • 支持角标红点和数字
  • 图标 支持图片和字体,自动识别
  • 兼容APP、H5及微信小程序

使用方法

在 template 中使用组件

<template>
    <view>
        <o-grid border col="8" radius title="组标题" bg="bg-white">
            <o-grid-item text="宫格标题1" icon="http://www.oveui.com/wp-content/uploads/2022/02/oveui_Logo_128.png" />
            <o-grid-item text="宫格标题2" icon="https://ask.dcloud.net.cn/uploads/avatar/001/15/59/86_avatar_max.jpg" />
            <o-grid-item text="宫格标题3" dot icon="http://www.oveui.com/wp-content/themes/dux7.6/img/thumbnail.png" />
            <o-grid-item text="跳回首页" @click="url('../index/index','tabbar')" badge='99' />
            <o-grid-item text="图标页面" @click="url('../index/icon','tabbar')" />
            <o-grid-item text="宫格标题6" mode="aspectFill" icon="http://www.oveui.com/wp-content/uploads/2022/04/b85f393c7b0415b5547e3c7ddce8b6a4-220x150.jpg" />
            <o-grid-item text="宫格标题7" />
            <o-grid-item text="宫格标题8" />
        </o-grid>
        <o-grid title="大图标模式" titlecolor="#f60" radius gutter bg="bg-white">
            <o-grid-item text="宫格标题1" />
            <o-grid-item text="宫格标题2" />
            <o-grid-item text="宫格标题3" dot />
            <o-grid-item text="宫格标题4" badge='99' />
            <o-grid-item text="宫格标题5" />
            <o-grid-item text="宫格标题6" />
            <o-grid-item text="宫格标题7" />
            <o-grid-item text="宫格标题8" />
        </o-grid>
        <o-grid border col="4" radius gutter bg="#fcc" color="#c00" title="间隔+自定义底色和文字颜色">
            <o-grid-item text="宫格标题" icon="http://www.oveui.com/wp-content/uploads/2022/02/oveui_Logo_128.png" />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" badge='99' />
            <o-grid-item text="宫格标题" />
        </o-grid>
        <o-grid col="4" radius square title="展示无底色、自定义内容">
            <o-grid-item text="宫格标题">
                自定义<br>内容
            </o-grid-item>
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" badge='99' />
            <o-grid-item text="宫格标题" />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" badge='9' />
        </o-grid>
        <o-grid border radius title="左右排风格" direction="row" col="2" color="text-blue">
            <o-grid-item text="宫格标题" />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" badge='99' />
            <o-grid-item text="宫格标题" dot />
        </o-grid>
        <o-grid border radius title="两排风格" col="2" color="text-blue">
            <o-grid-item text="宫格标题" />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" badge='99' />
            <o-grid-item text="宫格标题" dot />
        </o-grid>
        <o-grid border radius title="左右3排风格" 
        direction="row" col="3" color="text-blue">
            <o-grid-item text="宫格标题" />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" badge='19' />
            <o-grid-item text="宫格标题" dot />
            <o-grid-item text="宫格标题" />
            <o-grid-item text="宫格标题" dot />
        </o-grid>
    </view>
</template>

<script>    
    export default {
        data() {
            return { }
        },
        methods: {
            url(url,type){
                if(type=='tabbar'){ //跳转到tabbar页
                    uni.switchTab({ url:url });
                    console.log('点了tabbar');
                } else if(type=='back'){
                    uni.navigateBack({ delta:1 });
                } else { //非tabbar页跳转
                    if (!url) { console.log('没填写路径!') }
                    else {
                        uni.navigateTo({ url:url});
                        console.log('点了:',url);
                    }
                }
            }
        }
    }
</script>

API

oGrid Props

属性名 类型 默认值 可选值 说明
col Number,String 3 2~5 列,可填任意数,<2则=2,>5则=5
title String - Grid组标题
titlecolor String #333 Grid组标题颜色,支持class和style模式
border Number,String false true,0 显示边框线 非gutter模式有效
size String md sm、md、lg 图标尺寸 差值8rpx
bg String bg-white 设置宫格背景,支持class和style模式
color String #444 宫格文字颜色,支持class和style模式
square Boolean,String false false、true 宫格正方模式
gutter Boolean,String false false、true 宫格间隔 20rpx固定值
radius Boolean,String false false、true 开启圆角,gutter模式下有效
direction Boolean,String row row、col 开启宫格内容排列的方向 row:上下排,col:左右排

oGridItem Props

属性名 类型 默认值 可选值 说明
text String - - 文字
icon String - - 图标,支持图片和字体
hoverClass String - - 点击时的样式类
dot Boolean - - 红点角标
badge Number,String - - 数字角标
mode String aspectFit icon为图片时的mode属性

oGridItem Events

事件名称 说明 返回参数
@click 监听GridItem点击事件 -

GridItem Slots

名称 说明
default GridItem自定义内容插槽

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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