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

深圳建网站服务商安阳区号码

深圳建网站服务商,安阳区号码,wordpress案例站点,wordpress撰写邮箱首先把tabbar中的元素写在一个list中用v-for进行渲染 用一个interface进行定义接口,这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。 利用typescript特性进行类型定义,可以省去很多麻烦 import { reactive } from "vue" imp…

首先把tabbar中的元素写在一个list中用v-for进行渲染
用一个interface进行定义接口,这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。
利用typescript特性进行类型定义,可以省去很多麻烦

import { reactive } from "vue"
import { Images } from "src/static/images"
export interface Tabbar {iconPath: string,selectedIconPath: string,text: string,url: string
}export const tabBarList = reactive<Tabbar[]>([{iconPath: Images.Home,selectedIconPath: Images.HomeActive,text: '首页',url: '/pages/home/home',},{iconPath: Images.Personal,selectedIconPath: Images.PersonalActive,text: '我的',url: '/pages/personal/personal',}
])
<template><view class="tabbar-container"><view v-for="(item, index) in tabBarList" :key="index" :url="item.url" :class="{ 'active': activeIndex === index }"><view class="icon-container" @click="switchTab(index)"><view class="icon"><image class="icon-image" :src="activeIndex === index ? item.selectedIconPath : item.iconPath" /></view><view class="text">{{ item.text }}</view></view></view></view>
</template>

渲染好之后,tabbar有个点击跳转页面,以及点亮图标
点亮图标,这边的currentPath一定注意格式,打印出getCurrentPages()[0].route就会发现它是pages/personal/personal,而不是/pages/personal/personal

//vue
<view class="icon"><image class="icon-image" :src="activeIndex === index ? item.selectedIconPath : item.iconPath" /></view>//jsconst currentPath =  "/" + getCurrentPages()[0].route;
tabBarList.forEach((item, index) => {if (item.url === currentPath) {store.activeIndex = index;uni.switchTab({url: item.url,})}
})

跳转:由于是page页面,因此必须用switchtab方法而不能用nacigatorTo;这边的index及页面序号必须存储在pinia库中,否则界面一刷新它就不变了。

function switchTab(index) {if (index === store.activeIndex) {return}store.setActiveIndex(index)uni.switchTab({url: tabBarList[index].url})
}
import { defineStore } from 'pinia'interface State {activeIndex: number;sceneId: number;isLogin: boolean;nickname: string;avatar: string
}export const useTabbarStore = defineStore('store', {state: (): State => {return { activeIndex: 0,isLogin: false,sceneId: 1,nickname: '立即登录',avatar: 'https://bestwellai-aigo.oss-cn-shanghai.aliyuncs.com/icon/personal/personal_avatar.svg' }},actions: {setActiveIndex(index) {this.activeIndex = index;},setUsername(nickname,avatar){this.nickname = nickname;this.avatar = avatar;},setSceneId(sceneId) {this.sceneId = sceneId;}},
})

完成效果:自定义的效果就是样式可以自己写,非常方便;以及一个小程序需要三四种形式的tabbar时可以这样操作。
在这里插入图片描述

http://www.15wanjia.com/news/169325.html

相关文章:

  • 南宁做网站价格公司建站后还要录入网页吗
  • 深圳做二维码网站建设德国网站建设
  • 图书馆网站建设教程网站制作费用及后期运营
  • 网站统计模板东莞南城网站开发公司电话
  • 在微信上做彩票网站网站迁移教程
  • 做网站的公司现在还 赚钱吗做网站找华企
  • 免费制作网站net域名学历提升专升本
  • 招网站开发人员手机网站你懂
  • 有网站怎么做企业邮箱网站什么时候恢复彩色
  • 凡科免费做网站平面设计培训机构排名
  • 浙江做网站的公司网站推广策划的思路包括哪些内容
  • 网页设计站有没有帮人做机械设计的网站
  • 网站推广任务 ip点击乐山网站seo
  • 做淘宝客网站性质手机制作海报的软件免费
  • 一个公司做2个产品网站怎么做的郑州网站建设中国建设建设银行
  • 自己设计一个网站首页网站便民服务平台怎么做
  • 帮别人做网站进了看守所wordpress数据库连接错误
  • 商丘睢阳区市政建设局网站哪个网站可以做彩经专家
  • 网站开发就业岗位大鹏附近网站建设
  • 做好网站建设上传网站安装教程视频
  • 长春哪家公司做网站好东莞网站建设网络公司排名
  • 网站制作哪些网站优化 检测响应速度
  • 中山响应式网站美食制作网站模板免费下载
  • 泉州制作手机网站个人帮忙做网站吗
  • 移动网站建设可信赖深圳工信部网站备案信息查询
  • 最新电子产品网站模板南宁平台公司
  • 个人网站效果装修效果图软件
  • 淘宝客 wordpress网站微软雅黑做网站是否侵权
  • 网站开发语言php5.1wordpress 联盟插件
  • 做实验教学视频的网站网站建设平台推广