国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uni-app使用uview-ui實(shí)現(xiàn)動(dòng)態(tài)更改底部tabbar

這篇具有很好參考價(jià)值的文章主要介紹了uni-app使用uview-ui實(shí)現(xiàn)動(dòng)態(tài)更改底部tabbar。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

需求:根據(jù)不同的權(quán)限(用戶 0, 物業(yè) 1)展示不同的tabbar
這里使用的是uview-ui@1.8.4 tabbar文章來源地址http://www.zghlxwxcb.cn/news/detail-525966.html

    1. 在utils文件夾下新建一個(gè)tabbar.js文件,來存儲(chǔ)不同權(quán)限下的底部導(dǎo)航數(shù)據(jù)
// 用戶tabbar
let tabUser = [
	{
		"pagePath": "/pages/index/index",
		"text": "首頁",
		"iconPath": "/static/icon_bx.png",
		"selectedIconPath": "/static/icon_bx_hover.png"
	},
	{
		"pagePath": "/pages/index1/index",
		"text": "咨詢",
		"iconPath": "/static/icon_adress.png",
		"selectedIconPath": "/static/icon_adress_hover.png"
	},
	{
		"pagePath": "/pages/index2/index",
		"text": "我的",
		"iconPath": "/static/icon_user.png",
		"selectedIconPath": "/static/icon_user_hover.png"
	}
]
// 物業(yè)tabbar
let tabPro = [
	{
		"pagePath": "/pages/index/index",
		"text": "首頁",
		"iconPath": "/static/logo.png",
		"selectedIconPath": "/static/logo.png"
	},
	{
		"pagePath": "/pages/index1/index",
		"text": "咨詢",
		"iconPath": "/static/logo.png",
		"selectedIconPath": "/static/logo.png"
	},
	{
		"pagePath": "/pages/index3/index",
		"text": "管理",
		"iconPath": "/static/logo.png",
		"selectedIconPath": "/static/logo.png"
	},
	{
		"pagePath": "/pages/index2/index",
		"text": "我的",
		"iconPath": "/static/logo.png",
		"selectedIconPath": "/static/logo.png"
	}
]
export default [
	tabUser,
    tabPro]
    1. 在page.json文件里,把tabbar里的幾個(gè)頁面去重放進(jìn)去tabBar。
"tabBar": {
    "color": "#000",
    "selectedColor": "#567856",
    "backgroundColor": "#FFFFFF",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text":""
      },
      {
        "pagePath": "pages/index1/index",
        "text":""
      },
      {
        "pagePath": "pages/index2/index",
        "text":""
      },
      {
        "pagePath": "pages/index3/index",
        "text":""
      }
    ]
  }
    1. 使用vuex 新建store 文件夾存儲(chǔ)相關(guān)數(shù)據(jù)
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
import tabBar from '@/utils/tabbar.js'
const store = new Vuex.Store({
	state: {
		tabBarList: [],
		roleId: 0, //0 用戶,1 物業(yè)
	},
	mutations: {
		// 設(shè)置角色I(xiàn)D
		setRoleId(state, data) {
			state.roleId = data;
			uni.setStorageSync('roleId',data)
			state.tabBarList = tabBar[data];
			uni.setStorageSync('tabBarList',tabBar[data])
		},
	},
})
export default store
    1. 在入口文件 main.js 中使用
import Vue from 'vue'
import App from './App'
import uView from "uview-ui";
import store from './store/index'

Vue.use(uView);

Vue.config.productionTip = false
Vue.prototype.$store = store
App.mpType = 'app'

const app = new Vue({
    store,
    ...App
})
app.$mount()
    1. 在components中新建tabBar.vue 組件
<template>
  <view>
    <u-tabbar
      :list="tabBarList"
      @change="change"
      v-model="current"
      :active-color="activeColor"
      :inactive-color="inactiveColor"
      :height="110"
      :border-top="borderTop"
    >
    </u-tabbar>
  </view>
</template>
<script>
export default {
  props: {
    tabBarList: {
      type: Array,
      default: () => uni.getStorageSync("tabBarList"),
    },
  },
  data() {
    return {
      borderTop: true,
      inactiveColor: "#000",
      activeColor: "#987435",
      current: 0,
    };
  },
  methods: {
    change(e) {
      const tabbar = uni.getStorageSync("tabBarList");
      console.log(tabbar);

      switch (e) {
        case 0:
          uni.switchTab({
            url: tabbar[0].pagePath,
          });
          break;
        case 1:
          uni.switchTab({
            url: tabbar[1].pagePath,
          });
          break;
        case 2:
          uni.switchTab({
            url: tabbar[2].pagePath,
          });
          break;
        case 3:
          uni.switchTab({
            url: tabbar[3].pagePath,
          });
          break;
        default:
          uni.switchTab({
            url: tabbar[0].pagePath,
          });
          break;
      }
    },
  },
};
</script>
    1. 登錄時(shí),獲取后端返回的權(quán)限這里沒有接口就寫死啦,然后再調(diào)用store里的setRole方法
<template>
  <view class="content">
    <u-button type="primary" text="登錄" @click="login"></u-button>
  </view>
</template>

<script>
import { mapMutations } from "vuex";
export default {
  data() {
    return {
      roleId: 1,
    };
  },
  methods: {
    ...mapMutations(["setRoleId"]),
    login() {
      this.setRoleId(this.roleId); // 0或者1
      uni.switchTab({
        url: "../index/index", // 跳轉(zhuǎn)到首頁
      });
    },
  },
};
</script>
    1. tabbar頁面使用組件
<template>
    <div>
      <tabBar />
    </div>
  </template>
  
  <script>
  import tabBar from '../../components/tabBar.vue';
  export default {
    components: {
      tabBar
    },
    data() {
      return {
        
      }
    }
  }
  
  </script>
  
  <style>
  
  </style>

到了這里,關(guān)于uni-app使用uview-ui實(shí)現(xiàn)動(dòng)態(tài)更改底部tabbar的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uView 在 uni-app 中的使用

    提示:正文內(nèi)容: uView 官網(wǎng): https://www.uviewui.com uView 是 uni-app 生態(tài)專用的 UI 框架 關(guān)于uView的取名來由,首字母u來自于uni-app首字母,uni-app是基于Vue.js,Vue和View(延伸為UI、視圖之意)同音,同時(shí)view組件是uni-app中 最基礎(chǔ),最重要的組件,故取名uView,表達(dá)源于uni-app和Vue之意,

    2024年02月15日
    瀏覽(21)
  • uni-app+uView實(shí)現(xiàn)點(diǎn)擊查看大圖片的效果
  • 使用uni-app+uview創(chuàng)建小程序工程并支持請(qǐng)求后端接口

    使用uni-app+uview創(chuàng)建小程序工程并支持請(qǐng)求后端接口

    一、使用工具: ? ? 1.hubilderx? ?下載地址:HBuilderX-高效極客技巧 ? ? 2.微信開發(fā)者工具? ?下載地址:微信開發(fā)者工具下載地址與更新日志 | 微信開放文檔 ? ? 3.uview組件庫API:Color 色彩 | uView 2.0 - 全面兼容nvue的uni-app生態(tài)框架 - uni-app UI框架 二、使用hubuilderx創(chuàng)建uni-app項(xiàng)目

    2024年02月11日
    瀏覽(24)
  • uni-app使用uView打開彈出層后輸入框聚焦時(shí)placeholder錯(cuò)位問題

    uni-app使用uView打開彈出層后輸入框聚焦時(shí)placeholder錯(cuò)位問題

    這里就不放效果了,大概意思就是在使用uView的popus時(shí),在底部彈出后,如果彈窗中的輸入框會(huì)造成一瞬間的placeholder文字錯(cuò)位,這個(gè)問題的主要是因?yàn)閡View安全區(qū)適配導(dǎo)致 uView相關(guān)文檔 popus源碼 它會(huì)自動(dòng)判斷在并且在IPhone X等機(jī)型的時(shí)候,給元素加上一個(gè)適當(dāng)?shù)撞績?nèi)邊距,從

    2024年02月19日
    瀏覽(30)
  • uview-ui工具函數(shù)的使用

    工具函數(shù)的使用 1. 函數(shù)防抖、節(jié)流 2. 對(duì)象轉(zhuǎn)url參數(shù) 3. 路由封裝 4. 時(shí)間格式化 5. 求兩個(gè)顏色漸變之間的值 6. 生成全局唯一guid字符串 7. 獲取主題相關(guān)顏色 8. 根據(jù)type獲取圖標(biāo)名稱 9. 打亂數(shù)組的順序 10. 對(duì)象和數(shù)組的深度克隆 11. 對(duì)象和數(shù)組的深度拷貝 12. 添加單位 13. 規(guī)則檢驗(yàn)

    2024年02月01日
    瀏覽(16)
  • uView-ui框架測試使用筆記

    uView-ui框架測試使用筆記

    在分析一個(gè)項(xiàng)目的時(shí)候,發(fā)現(xiàn)項(xiàng)目中使用了一個(gè)組件,在 components 中沒有找這個(gè)組件的注冊(cè)位置,發(fā)現(xiàn)這是 uview-ui 中的組件 很明顯,這里的 u-notice-bar 是一個(gè)組件,但是在 components 中并沒有注冊(cè)的語句,猜測是不是全局引入,或者是 easycom 模式自動(dòng)引入了,按照 easycom 模式可以自動(dòng)引入

    2024年02月07日
    瀏覽(16)
  • uni-app 中使用uview生成測試小程序后報(bào)錯(cuò):pleaseSetTranspileDependencies is not defined

    uni-app 中使用uview生成測試小程序后報(bào)錯(cuò):pleaseSetTranspileDependencies is not defined

    這是一篇踩坑文,記錄一個(gè)uni-app中的坑點(diǎn)。 在uni-app 中使用uview后在生成小程序后第一次編譯時(shí)控制臺(tái)報(bào)了這么一個(gè)錯(cuò): 在檢查了許久的原因后最后找到的解決辦法是: 在文件 /common/vendor.js 中搜索并刪除下面這句話 如上圖。 刪除掉之后重新編譯一下項(xiàng)目就正常運(yùn)行了。

    2024年02月12日
    瀏覽(34)
  • 【Uni-App】用 uView 組件庫中的u-picker 實(shí)現(xiàn)地區(qū)的 省-市-區(qū) 三級(jí)聯(lián)動(dòng)&確認(rèn)&回顯

    【Uni-App】用 uView 組件庫中的u-picker 實(shí)現(xiàn)地區(qū)的 省-市-區(qū) 三級(jí)聯(lián)動(dòng)&確認(rèn)&回顯

    組件的引入就不多贅述了 直接看使用方法 地址我是引入的json文件數(shù)據(jù)結(jié)構(gòu)大概是這個(gè)樣子 例1 例2 做個(gè)動(dòng)態(tài)style,控制是否高亮地址 鏈接:https://pan.baidu.com/s/1_heSAGHJnTe-343fRmbOPA 提取碼:hmky 如果失效了 ,可以聯(lián)系我獲取

    2024年02月14日
    瀏覽(28)
  • 使用uview-ui遇見SassError: Undefined variable

    使用uview-ui遇見SassError: Undefined variable

    1.確保安裝了 scss/sass 編譯插件 2.在根目錄下? uni.scss ?文件中引入? theme.scss 3. 確保在根目錄下 App.vue 文件中添加 lang=\\\"scss\\\" 和 index.scss 若依舊報(bào)錯(cuò): ? ?查看項(xiàng)目目錄——》 ?再把 路徑 修改為對(duì)應(yīng)文件夾下——》 @import \\\"uview-ui/theme.scss\\\"; @import \\\"uni_modules/uview-ui/theme.scss\\\"; ? ?

    2024年02月16日
    瀏覽(26)
  • uni-app uView自定義底部導(dǎo)航欄

    uni-app uView自定義底部導(dǎo)航欄

    因項(xiàng)目需要自定義底部導(dǎo)航欄,我把它寫在了組件里,基于uView2框架寫的(vue2); ? 在components下創(chuàng)建tabbar.vue文件,代碼如下: ?app.vue (有沒有大佬知道為什么這個(gè)樣式加載app.vue里才生效) ?pages.json配置 頁面使用: ( mine.vue ) 注: current是底部導(dǎo)航欄的下標(biāo),你在tabb

    2024年02月14日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包