前端Vue自定义精美宫格菜单按钮组件 可设置一行展示个数 可设置成九宫格 十二宫格 十五宫格

本文介绍了利用Vue进行组件化开发,以实现自定义的精美宫格菜单按钮组件。组件支持设置一行展示的个数,如九宫格、十二宫格、十五宫格等布局。通过这种方式,可以提高开发效率,降低复杂系统的维护成本。示例代码展示了如何在HTML中使用该组件,并提供了菜单点击事件的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。

组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等 。

本文给大家介绍的组件是:

前端Vue自定义精美宫格菜单按钮组件 可设置一行展示个数 可设置成九宫格 十二宫格 十五宫格 ,

阅读全文下载完整组件代码请关注微信公众号: 前端组件开发

 

d848d5658a07453c843277846948c608.png

d848d5658a07453c843277846948c608.png

效果图如下:

 

format,png

format,png

format,png

# cc-categoryMenu

#### 使用方法

```使用方法

<view class="header">十五宫格菜单</view>

<!-- 推荐宫格菜单 rowNum:一行展示多少个 categoryList:菜单数组 menuClick:菜单点击 -->

<cc-categoryMenu :rowNum="5" :categoryList="categoryList" @click="menuClick"></cc-categoryMenu>

<view class="header">十二宫格菜单</view>

<!-- 推荐宫格菜单 rowNum:一行展示多少个 categoryList:菜单数组 menuClick:菜单点击 -->

<cc-categoryMenu :rowNum="4" :categoryList="categoryList" @click="menuClick"></cc-categoryMenu>

<view class="header">九宫格菜单</view>

<!-- 推荐宫格菜单 rowNum:一行展示多少个 categoryList:菜单数组 menuClick:菜单点击 -->

<cc-categoryMenu :rowNum="3" :categoryList="categoryList" @click="menuClick"></cc-categoryMenu>

```

#### HTML代码实现部分

```html

<template>

<view class="content">

<view class="header">十五宫格菜单</view>

<!-- 推荐宫格菜单 rowNum:一行展示多少个 categoryList:菜单数组 menuClick:菜单点击 -->

<cc-categoryMenu :rowNum="5" :categoryList="categoryList" @click="menuClick"></cc-categoryMenu>

<view class="header">十二宫格菜单</view>

<!-- 推荐宫格菜单 rowNum:一行展示多少个 categoryList:菜单数组 menuClick:菜单点击 -->

<cc-categoryMenu :rowNum="4" :categoryList="categoryList" @click="menuClick"></cc-categoryMenu>

<view class="header">九宫格菜单</view>

<!-- 推荐宫格菜单 rowNum:一行展示多少个 categoryList:菜单数组 menuClick:菜单点击 -->

<cc-categoryMenu :rowNum="3" :categoryList="categoryList" @click="menuClick"></cc-categoryMenu>

</view>

</template>

<script>

export default {

data() {

return {

categoryList: [{

id: 1,

name: '红萝卜',

img: "https://cdn.pixabay.com/photo/2014/12/21/23/34/carrot-575529_1280.png"

}, {

id: 2,

name: '蔬菜',

img: "https://cdn.pixabay.com/photo/2012/04/24/16/15/broccoli-40295_1280.png"

}, { //分类列表

id: 3,

name: '汉堡',

img: "https://cdn.pixabay.com/photo/2012/04/13/01/51/hamburger-31775_1280.png"

}, {

id: 4,

name: '羊皮纸',

img: "https://cdn.pixabay.com/photo/2013/07/12/17/19/diploma-152024_1280.png"

},

{

id: 5,

name: '香蕉',

img: "https://cdn.pixabay.com/photo/2014/04/03/11/07/bananas-311788_1280.png"

}, {

id: 6,

name: '奶油草莓',

img: "/static/images/class/food-strawberry.png"

}, {

id: 7,

name: '柠檬',

img: "https://cdn.pixabay.com/photo/2013/07/12/17/41/lemon-152227_1280.png"

}, {

id: 8,

name: '热狗',

img: "/static/images/class/food-hotdog.png"

}, {

id: 9,

name: '披萨',

img: "/static/images/class/food-pizza.png"

}, {

id: 10,

name: '蛋黄酥',

img: "/static/images/class/food-eggyolkcake.png"

}

],

}

},

onLoad() {

},

methods: {

menuClick: function(item) {

console.log("点击菜单条目item = " + JSON.stringify(item));

uni.showModal({

title: '点击菜单条目',

content: "点击菜单条目item = " + JSON.stringify(item)

})

},

}

}

</script>

<style>

.content {

display: flex;

flex-direction: column;

}

.header {

margin-left: 3%;

width: 94%;

line-height: 30px;

font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;

font-weight: 550;

height: 30px;

margin-top: 10px;

}

</style>

```

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值