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

深圳建网站服务商天河网站建设设计

深圳建网站服务商,天河网站建设设计,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.yayakq.cn/news/565784/

相关文章:

  • 东莞网站建设需要多少钱成都网站建设服务公司
  • 中国网建短信平台如何优化购物网站建设
  • php网站怎么样国外购物网站哪个最好
  • 可不可以用帝国cms做企业网站什么是网站维护中
  • 在线原型设计网站学网站开发的软件
  • photoshop网站视觉设计步骤aspx网站开发 案例
  • 专业网站设计联系张家口网站建设vewan
  • 查看网站 vps哈尔滨电子政务网站建设
  • 网站右下角弹窗代码百度信息
  • 徐州制作手机网站网站建设课程设计实验指导书
  • 小型购物网站嘉兴定制型网站建设
  • 门户网站建设招标公告做网站的需要花多少钱
  • wp博客网站怎么做济宁住房和城乡建设厅网站
  • 湛江建站程序自己怎样建企业网站
  • 个人网站设计源代码google官网入口
  • 菏泽网站建设优惠臻动传媒wordpress文本块
  • 天通苑网站建设做类似58同城的网站
  • 网站开发语言汇总境外 网站网站
  • 单页营销网站体育网站建设
  • 网站后台管理系统 asp上海雍熙
  • 上海企业网站优化html代码中标签的书写不区分大小写
  • 网站开发 兼职万网的网站建设是什么
  • 网站规划作品中信建设有限责任公司待遇怎么样
  • 商城网站都有什么功能制作一个网站的费用是多少
  • 建设银行网站怎么查工资明细杭州网站制作蒙特
  • 同城同镇网站建设关键词站长工具
  • 深圳定制网站制作厂家dart语言做的网站
  • 网站的例子wordpress宝宝网商城免费模板
  • 公司网站做一年多少钱网页设计效果图怎么做
  • 婚庆网站建设论文无锡网站建设标准