当前位置: 首页 > news >正文

uniapp+uview2.0+vuex实现自定义tabbar组件

效果图
在这里插入图片描述

1.在components文件夹中新建MyTabbar组件
在这里插入图片描述
2.组件代码

<template><view class="myTabbarBox" :style="{ backgroundColor: backgroundColor }"><u-tabbar :placeholder="true" zIndex="0" :value="MyTabbarState" @change="tabbarChange" :fixed="false":activeColor="tabbarSet.activeColor" :inactiveColor="tabbarSet.inactiveColor" :safeAreaInsetBottom="true"><u-tabbar-item v-for="(item,index) in tabbarSet.list" :text="item.title"><image class="u-page__item__slot-icon" slot="active-icon" :src="item.image[1]"></image><image class="u-page__item__slot-icon" slot="inactive-icon" :src="item.image[0]"></image></u-tabbar-item></u-tabbar></view>
</template><script>export default {data() {return {backgroundColor: "#fff",// MyTabbarState: this.$store.getters.MyTabbarState,tabbarSet: this.$store.state.tabbarSet,//这里用到了vuex存储数据};},computed: {MyTabbarState() {return this.$store.getters.MyTabbarState;},},// watch: {// 	MyTabbarState: {// 		handler(newVal, oldVal) {// 			// console.log('更新', newVal, oldVal)// 		},// 		deep: true, // 深度监听// 		immediate: true, //立即执行// 	}// },methods: {//选项切换时tabbarChange(e) {console.log('change1', e, this.tabbarSet, this.MyTabbarState);this.MyTabbarState = e;this.$store.dispatch('getMyTabbarState', e)uni.navigateTo({url: this.tabbarSet.list[e].url})}},}
</script><style lang="scss">.u-page__item__slot-icon {width: 41rpx;height: 44rpx;}.myTabbarBox {position: fixed;bottom: 0;left: 0;z-index: 999999999;width: 100%;padding: 30rpx 0;}::v-deep.u-tabbar__content {background-color: transparent;}
</style>

3.父组件

<template><view><!-- 底部tabbar --><MyTabbar></MyTabbar></view></template><script>export default {data() {return {}},mounted() {let MyTabbarState = 0;let tabbarSet = {backgroundColor: "#fff", //背景颜色activeColor: "#000", //点击后的字体颜色inactiveColor: "#D0D0D0", //默认字体颜色list: [{title: "首页",image: ["../../static/previousHome.png", "../../static/backHome.png"],url: "/pages/index/index"},{title: "我的",image: ["../../static/previousUser.png", "../../static/backUser.png"],url: "/pages/order/order"}]};this.$store.dispatch('getTabbarSet', tabbarSet);this.$store.dispatch('getMyTabbarState', MyTabbarState);},onShow() {//改变底部导航栏状态this.$store.commit('get_MyTabbarState', 0);}}

4.创建store目录,下面创建index.js文件

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const debug = process.env.NODE_ENV !== 'production'const loginKey = 'login_status'const vuexStore = new Vuex.Store({state: {isBtnShow:false,//按钮节流MyTabbarState:1,//操作栏选中状态tabbarSet:{},	// 操作栏数据},mutations: {// 操作栏数据get_tabbarSet(state, goName){console.log('MUTATION',goName)state.tabbarSet = goName;cookie.set('tabbarSet', goName)},//操作栏选中状态get_MyTabbarState(state, goName){console.log('改变状态',goName)state.MyTabbarState = goName;cookie.set('MyTabbarState', goName)}},actions: {//操作栏选中状态getMyTabbarState({ state, commit }, force) {commit('get_MyTabbarState',force)},// 操作栏数据getTabbarSet({ state, commit }, force) {commit('get_tabbarSet',force)},changeIsBtnshow({ state, commit }, index) {commit('updateIsBtnShow', index)},},getters: {MyTabbarState:state=>state.MyTabbarState,tabbarSet:state => state.tabbarSet,isBtnShow:state => state.isBtnShow},strict: debug,
})export default vuexStore

相关文章:

uniapp+uview2.0+vuex实现自定义tabbar组件

效果图 1.在components文件夹中新建MyTabbar组件 2.组件代码 <template><view class"myTabbarBox" :style"{ backgroundColor: backgroundColor }"><u-tabbar :placeholder"true" zIndex"0" :value"MyTabbarS…...

opencv 任意两点切割图像

目录 opencv python直线切割图像,把图像分为两个多边形 升级版,把多边形分割抠图出来,取最小外接矩形:...

rust变量绑定、拷贝、转移、引用

目录 一&#xff0c;clone、copy 1&#xff0c;基本类型 2&#xff0c;类型的clone特征 3&#xff0c;显式声明结构体的clone特征 4&#xff0c;类型的copy特征 5&#xff0c;显式声明结构体的clone特征 5&#xff0c;变量和字面量的特征 6&#xff0c;特征总结 二&am…...

Java多种方式向图片添加自定义水印、图片转换及webp图片压缩

给个创建水印的示例&#xff1a; /*** 获取水印** param watermarkText 水印文字* return 水印bufferimage*/public static BufferedImage getWatermark(String watermarkText) {BufferedImage measureBufferdImage new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB…...

基于Pytorch框架的LSTM算法(二)——多维度单步预测

1.项目说明 **选用Close和Low两个特征&#xff0c;使用窗口time_steps窗口的2个特征&#xff0c;然后预测Close这一个特征数据未来一天的数据 当batch_firstTrue,则LSTM的inputs(batch_size,time_steps,input_size) batch_size len(data)-time_steps time_steps 滑动窗口&…...

cnn感受野计算方法

No. Layers Kernel Size Stride 1 Conv1 33 1 2 Pool1 22 2 3 Conv2 33 1 4 Pool2 22 2 5 Conv3 33 1 6 Conv4 33 1 7 Pool3 2*2 2 感受野初始值 l 0 1 l_0 1l 0 ​ 1&#xff0c;每层的感受野计算过程如下&#xff1a; l 0 1 l_0 1l 0 ​ 1 l 1 1 ( 3 − 1 ) 3 l_1 1…...

百分点科技受邀参加“第五届治理现代化论坛”

11月4日&#xff0c;由北京大学政府管理学院主办的“面向新时代的人才培养——第五届治理现代化论坛”举行&#xff0c;北京大学校党委常委、副校长、教务长王博&#xff0c;政府管理学院院长燕继荣参加开幕式并致辞&#xff0c;百分点科技董事长兼CEO苏萌受邀出席论坛&#xf…...

基于Springboot的智慧食堂设计与实现(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的智慧食堂设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项…...

「Verilog学习笔记」多功能数据处理器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 注意题目要求输入信号为有符号数&#xff0c;另外输出信号可能是输入信号的和&#xff0c;所以需要拓展一位&#xff0c;防止溢出。 timescale 1ns/1ns module data_…...

OpenHarmony 4.0 Release 编译异常处理

一、环境配置 编译环境&#xff1a;Ubuntu 20.04 OpenHarmony 软件版本&#xff1a;4.0 Release 设备平台&#xff1a;rk3568 二、下拉代码 参考官网步骤&#xff1a; OpenHarmony 4.0 Release 源码获取 repo init -u https://gitee.com/openharmony/manifest -b OpenHarmo…...

软件测试|MySQL LIKE:深入了解模糊查询

简介 在数据库查询中&#xff0c;模糊查询是一种强大的技术&#xff0c;可以用来搜索与指定模式匹配的数据。MySQL数据库提供了一个灵活而强大的LIKE操作符&#xff0c;使得模糊查询变得简单和高效。本文将详细介绍MySQL中的LIKE操作符以及它的用法&#xff0c;并通过示例演示…...

linux防火墙设置

#查看firewall的状态 firewall-cmd --state (systemctl status firewalld.service) #安装 yum install firewalld #启动, systemctl start firewalld (systemctl start firewalld.service) #设置开机启动 systemctl enable firewalld #关闭 systemctl stop firewalld #取消…...

http 403

一、什么是HTTP ERROR 403 403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站&#xff0c;服务器受到请求但拒绝提供服务。 二、HTTP 403 状态码解释大全 403.1 -执行访问禁止。 403.2 -读访问禁止。 403.3 -写访问禁止。 403.4要…...

RAW图像处理软件Capture One 23 Enterprise mac中文版功能特点

Capture One 23 Enterprise mac是一款专业的图像处理软件&#xff0c;旨在为企业用户提供高效、快速和灵活的工作流程。 Capture One 23 Enterprise mac软件的特点和功能 强大的图像编辑工具&#xff1a;Capture One 23 Enterprise提供了一系列强大的图像编辑工具&#xff0c;…...

Linux 进程终止和等待

目录 一&#xff1a;进程常见的退出方法 1. main 函数返回值 2.调用 exit 3.调用 _exit 二&#xff1a;异常问题 三&#xff1a;进程等待 1.概念 2.进程等待的必要性 3.进程等待的方法 <1>&#xff1a;wait --- 系统调用 <2>&#xff1a;waitpid 进程…...

python用tkinter随机数猜数字大小

python用tkinter随机数猜数字大小 没事做&#xff0c;看到好多人用scratch做的猜大小的示例&#xff0c;也用python的tkinter搞一个猜大小的代码玩玩。 猜数字代码 from tkinter import * from random import randint# 定义确定按钮的点击事件 def hit(x,y):global s_Labprint(…...

程序员们保住自己饭碗

在现代社会中&#xff0c;程序员扮演着至关重要的角色。他们不仅仅是编写代码的人&#xff0c;更是保障数字世界安全稳定的守护者。随着科技的迅猛发展&#xff0c;程序员保住自己饭碗的护城河变得愈发重要。本文将探讨程序员如何通过不断学习、技术创新和软实力的发展&#xf…...

顶板事故防治vr实景交互体验提高操作人员安全防护技能水平

建筑业在我国各行业中属危险性较大且事故多发的行业&#xff0c;在建筑业“八大伤害”(高处坠落、坍塌、物体打击、触电、起重伤害、机械伤害、火灾爆炸及其他伤害)事故中&#xff0c;高处坠落事故的发生率最高、危险性极大。工地现场培训vr坠落体验利用虚拟现实技术还原各种情…...

为什么推荐从Linux开始了解IT技术

IT是什么&#xff0c;是干什么的呢&#xff1f; 说起物联网&#xff0c;云计算&#xff0c;大数据&#xff0c;或许大家听过。但是&#xff0c;你知道&#xff0c;像云计算的底层基座是什么呢&#xff1f;就是我们现在说的Linux操作系统。而云计算就是跑在Linux操作系统上的一个…...

【Mysql】增删改查(基础版)

我使用的工具是Data Grip &#xff08;SQLyog Naivact 都行&#xff09; 使用Data Grip创建student表&#xff0c;具体步骤如下&#xff08;熟悉Data Grip或者使用SQLyog&#xff0c;Naivact可以跳过&#xff09; https://blog.csdn.net/m0_67930426/article/details/13429…...

从零到一:用Python和Pygame打造你的第一个五子棋AI

1. 为什么用Python和Pygame开发五子棋AI 五子棋作为一款经典策略游戏&#xff0c;规则简单却变化无穷&#xff0c;是入门游戏开发的绝佳选择。Python凭借其简洁语法和丰富库生态&#xff0c;让开发者能快速实现想法。而Pygame作为专为游戏开发设计的库&#xff0c;提供了完善的…...

Jetson Orin Nano系统镜像的指令化部署与克隆实战

1. 为什么需要指令化部署与克隆&#xff1f; 每次拿到一台新的Jetson Orin Nano设备&#xff0c;最头疼的就是重复配置开发环境。想象一下&#xff0c;如果你需要为实验室的20台设备配置相同的环境&#xff0c;用图形界面一台台操作不仅耗时&#xff0c;还容易出错。这就是为什…...

3分钟快速网络诊断:NatTypeTester轻松检测你的NAT类型

3分钟快速网络诊断&#xff1a;NatTypeTester轻松检测你的NAT类型 【免费下载链接】NatTypeTester 测试当前网络的 NAT 类型&#xff08;STUN&#xff09; 项目地址: https://gitcode.com/gh_mirrors/na/NatTypeTester 你是否经常遇到在线游戏卡顿、视频会议断断续续或智…...

从外网打到内网:手把手教你用MSF+Socks代理穿透CFS三层靶机网络

内网渗透实战&#xff1a;三层网络环境下的代理与横向移动技术解析 在安全攻防演练中&#xff0c;内网渗透能力往往是区分初级与高级安全研究者的关键分水岭。当攻击者突破边界服务器后&#xff0c;如何在内网中横向移动、穿透多层隔离网络&#xff0c;成为实战中最具挑战性的环…...

从《原神》到Matlab:我是如何用TheColor工具箱自制一套67角色配色包的(附源码思路)

从游戏美学到科研绘图&#xff1a;用Matlab构建角色配色系统的全流程解析 当我在浏览《原神》角色立绘时&#xff0c;那些精心设计的色彩组合让我联想到一个有趣的问题&#xff1a;这些视觉艺术家精心调配的色板&#xff0c;能否转化为科研绘图中的实用工具&#xff1f;这个灵感…...

STM32F103C8T6驱动MLX90614红外测温模块,OLED实时显示温度(附完整工程源码)

STM32F103C8T6与MLX90614红外测温模块的深度开发实践 红外测温技术在工业自动化、医疗设备、智能家居等领域有着广泛应用。今天我们将通过STM32F103C8T6这款经典的Cortex-M3内核微控制器&#xff0c;搭配MLX90614非接触式红外温度传感器&#xff0c;构建一个高精度的温度测量系…...

W5500网络芯片的MAC地址怎么来?三种实战方案对比:STM32唯一ID生成 vs 向IEEE申请 vs 固定地址

W5500网络芯片的MAC地址生成策略&#xff1a;从原型开发到量产的合规实践 在物联网设备开发中&#xff0c;MAC地址如同设备的网络身份证&#xff0c;其唯一性和合规性直接影响设备联网的稳定性和商业部署的合法性。以W5500为代表的嵌入式网络芯片&#xff0c;其MAC地址设置往往…...

深入UDS 0x3D服务:从内存布局到安全机制,理解‘按地址写内存’背后的设计哲学

深入UDS 0x3D服务&#xff1a;从内存布局到安全机制&#xff0c;理解‘按地址写内存’背后的设计哲学 在汽车电子控制单元&#xff08;ECU&#xff09;的开发与维护中&#xff0c;诊断协议扮演着至关重要的角色。UDS&#xff08;Unified Diagnostic Services&#xff09;作为IS…...

LaTeX浮动体位置控制进阶:从[htbp!]到精细化布局策略

1. 理解LaTeX浮动体的基础定位机制 当你第一次在LaTeX文档中插入图片或表格时&#xff0c;可能会发现它们经常"跑"到意料之外的位置。这种现象源于LaTeX独特的浮动体&#xff08;float&#xff09;机制——这是LaTeX为了优化页面布局而设计的核心功能。就像餐厅服务员…...

TCN时序卷积网络:从因果与空洞卷积到高效序列建模实战

1. 时序卷积网络TCN的核心设计理念 第一次接触TCN&#xff08;Temporal Convolutional Network&#xff09;时&#xff0c;很多人会疑惑&#xff1a;为什么要在时间序列任务中用卷积网络&#xff1f;毕竟RNN和Transformer才是这个领域的传统强者。但当我真正在项目中尝试用TCN处…...