前端Vue自定义等分底部菜单导航按钮 自适应文字宽度 可更改组件位置

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。

通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。 组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等

今天给大家介绍的一款组件:前端Vue自定义等分底部菜单导航按钮 自适应文字宽度 可更改组件位置;附源码下载地址:https://ext.dcloud.net.cn/plugin?id=14128


更多前端组件信息请关注微信公众号: 前端组件开发

在这里插入图片描述

效果图如下:


等分底部菜单导航按钮的设计
等分底部菜单导航按钮是一种常见的UI设计,它将页面底部的菜单设计成多个等宽的按钮,使页面整体看起来更加整洁、美观。同时,等分底部菜单导航按钮也可以提高用户的操作体验,方便用户快速找到需要的功能。
为了实现等分底部菜单导航按钮,我们可以使用Vue.js框架来创建自定义组件。该组件需要支持以下功能:
1. 根据传入的标题数组自动等分底部宽度;
2. 支持选择功能,当某个按钮被点击时,能够记录当前选中的序列;
3. 支持自定义选中颜色;
4. 支持点击事件回调,当按钮被点击时,可以触发相应的事件。

cc-BotMenu 前端Vue自定义等分底部菜单导航按钮 自适应文字宽度 可更改组件位置

使用方法


<!-- upTextArr:上面标题数组 downTextArr:下面标题数组  selIndex:选择序列 selColor:选中颜色 @menuClick:按钮点击事件 -->

<cc-BotMenu :upTextArr="uptextArr" :downTextArr="downTextArr" :selIndex="selIndex" selColor="orange"

@menuClick="menuClick"></cc-BotMenu>

HTML代码实现部分


<template>

<view class="content">

<!-- 自定义等分底部菜单按钮 -->

<view class="bottomV">

<!-- upTextArr:上面标题数组 downTextArr:下面标题数组  selIndex:选择序列 selColor:选中颜色 @menuClick:按钮点击事件 -->

<cc-BotMenu :upTextArr="uptextArr" :downTextArr="downTextArr" :selIndex="selIndex" selColor="orange"

@menuClick="menuClick"></cc-BotMenu>

</view>

</view>

</template>

<script>

export default {
      
      

data() {
      
      

return {
      
      

title: 'Hello',

uptextArr: ['1', "2", "3", "4", '5'],

downTextArr: ['国家标准', "行业标准", "省级标准", "团体标准", '企业标准'],

selIndex: "0",

}

},

onLoad() {
      
      

},

methods: {
      
      

// 按钮点击事件

menuClick(tag) {
      
      

// 点击序列赋值

this.selIndex = tag;

}

}

}

</script>

<style>

page {
      
      

background-color: lightgray;

}

.content {
      
      

display: flex;

flex-direction: column;

}

.bottomV {
      
      

/* 设置视图置顶 */

display: flex;

flex-direction: row;

position: fixed;

margin-top: calc(100vh - 168px);

height: 60px;

z-index: 9999 !important;

width: 100vw;

background-color: white;

padding-left: 0px;

padding-bottom: 20px;

}

</style>

猜你喜欢

转载自blog.csdn.net/chenchuang0128/article/details/132389480