最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue2左側(cè)菜單欄收縮展開功能實(shí)現(xiàn)

 更新時(shí)間:2024年04月29日 10:28:48   作者:Java-云海  
vue2左側(cè)菜單欄收縮展開目前是非常常見的,我們在日常開發(fā)過程中經(jīng)常會碰到,這篇文章給大家介紹vue2左側(cè)菜單欄收縮展開功能,感興趣的朋友跟隨小編一起看看吧

vue2左側(cè)菜單欄收縮展開目前是非常常見的,我們在日常開發(fā)過程中經(jīng)常會碰到。這一小節(jié)我們就詳細(xì)了解一下這個(gè)功能,完善我們的項(xiàng)目開發(fā)。

首先,修改Main.vue頁面中的一些屬性,有些屬性需要動態(tài)綁定。接下來我們來一步一步實(shí)現(xiàn)。

1. Main.vue頁面代碼

a. 修改側(cè)邊欄屬性

我們給我們導(dǎo)入的Aside組件動態(tài)綁定一個(gè)isCollapse。然后再下面的方法中定義

logoTextShow是我們動態(tài)綁定的系統(tǒng)名稱:當(dāng)我們點(diǎn)擊收縮菜單時(shí),系統(tǒng)名稱會隱藏,展示我們的系統(tǒng)圖標(biāo)。

下面是效果展示:

<!--其它代碼-->
<!-- 側(cè)邊欄 -->
<el-aside :width="sideWidth + 'px'" style="background-color: rgb(238, 241, 246);height: 100%">
  <Aside :isCollapse="isCollapse" :logoTextShow="logoTextShow"/>
</el-aside>
<!--其它代碼-->

b. 修改頭部導(dǎo)航欄

頭部導(dǎo)航欄是我們點(diǎn)擊收縮展開按鈕的地方,我們在這里動態(tài)綁定點(diǎn)擊函數(shù)。collapse函數(shù)就是我們動態(tài)綁定的函數(shù)。

<!--其它代碼-->
<!-- 頭部導(dǎo)航欄 -->
<el-header style="border-bottom: 1px solid #ccc;">
  <Header :collapseBtnClass="collapseBtnClass" :collapse="collapse"/>
</el-header>
<!--其它代碼-->

c. 定義我們的變量

我們在return中定義我們的collapseBtnClass圖標(biāo)變量;

定義Aside.vue中的sidewidth左側(cè)菜單欄寬度

還有默認(rèn)展示我們的系統(tǒng)名稱而不是展示logo圖片

<!--其它代碼-->
data () {
  return {
    collapseBtnClass: 'el-icon-s-fold',
    isCollapse: false,
    sideWidth: 220,
    logoTextShow: true
  }
},
<!--其它代碼-->

d. collapse函數(shù)

這里我們函數(shù)的邏輯是:

當(dāng)我們點(diǎn)擊收縮菜單圖標(biāo)時(shí),isCollapse變量為flase;

當(dāng)我們的isCollapse變量為false時(shí),this.sidewidth寬度為64,圖標(biāo)設(shè)置為收縮圖標(biāo)

然后我們的系統(tǒng)名稱隱藏;

相反:我們的菜單寬度為220;設(shè)置展開圖標(biāo),系統(tǒng)名稱菜單展示

<!--其它代碼-->
methods: {
  collapse () {
    this.isCollapse = !this.isCollapse
    if (this.isCollapse) {
      this.sideWidth = 64
      this.collapseBtnClass = 'el-icon-s-unfold'
      this.logoTextShow = false
    } else {
      this.sideWidth = 220
      this.collapseBtnClass = 'el-icon-s-fold'
      this.logoTextShow = true
    }
  }
}
<!--其它代碼-->

2. Header.vue頁面代碼

首先在我們面包屑上面加一個(gè)span標(biāo)簽:

綁定我們的class為collapseBtnClass:

設(shè)置一個(gè)點(diǎn)擊事件:collapse

<!--其它代碼-->
<span :class="collapseBtnClass" style="cursor: pointer; font-size: 18px" @click="collapse"></span>
<!--其它代碼-->

這里牽扯到一個(gè)父子傳值和子子傳值。父子傳值我們在子組件里面接收就要用props來接收

<!--其它代碼-->
props: {
  collapseBtnClass: String,
  collapse: Function
}
<!--其它代碼-->

3. Aside.vue頁面代碼

我們在標(biāo)簽<el-menu>綁定我們的屬性:

<el-menu
    :default-openeds="[]" style="min-height: 100%; overflow-x: hidden"
    background-color="#1f2d3d"
    text-color="#fff"
    default-active="/home"
    active-text-color="rgb(75 175 255)"
    :collapse-transition="false"
    :collapse="isCollapse"
    router>

系統(tǒng)名稱給一個(gè)v-show事件

<div style="height: 60px; line-height: 60px; text-align: center">
  <img src="../assets/logo.png" alt="" style="width: 20px; position: relative; top: 2px;">
  <b style="color: white" v-show="logoTextShow">倉庫管理系統(tǒng)</b>
</div>

然后我們在下面接收父組件傳遞的值:

<!--其它代碼-->
props: {
  isCollapse: Boolean,
  logoTextShow: Boolean
}
<!--其它代碼-->

現(xiàn)在會有一個(gè)問題,我們點(diǎn)擊收縮菜單欄時(shí)菜單文字會有遺留,我們給一個(gè)樣式來隱藏文字

<style>
.el-menu-item.is-active {
  background-color: rgb(38, 52, 69) !important;
}
.el-menu-item:hover {
  background-color: rgb(38, 52, 69) !important;
}
.el-submenu__title:hover {
  background-color: rgb(38, 52, 69) !important;
}
/*解決收縮菜單文字不消失問題*/
.el-menu--collapse span {
  visibility: hidden;
}
</style>

以上就是我們的菜單欄收縮展開全部教程。

到此這篇關(guān)于vue2左側(cè)菜單欄收縮展開功能的文章就介紹到這了,更多相關(guān)vue2菜單欄收縮展開內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue學(xué)習(xí)筆記進(jìn)階篇之單元素過度

    Vue學(xué)習(xí)筆記進(jìn)階篇之單元素過度

    這篇文章主要介紹了Vue學(xué)習(xí)筆記進(jìn)階篇之單元素過度,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解element-ui中form驗(yàn)證雜記

    詳解element-ui中form驗(yàn)證雜記

    這篇文章主要介紹了詳解element-ui中form驗(yàn)證雜記,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue監(jiān)聽頁面中的某個(gè)div的滾動事件并判斷滾動的位置

    vue監(jiān)聽頁面中的某個(gè)div的滾動事件并判斷滾動的位置

    本文主要介紹了vue監(jiān)聽頁面中的某個(gè)div的滾動事件并判斷滾動的位置,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • VUE中攔截請求并無感知刷新token方式

    VUE中攔截請求并無感知刷新token方式

    這篇文章主要介紹了VUE中攔截請求并無感知刷新token方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue+iview動態(tài)渲染表格詳解

    vue+iview動態(tài)渲染表格詳解

    這篇文章主要為大家詳細(xì)介紹了vue+iview動態(tài)渲染表格的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • vue中this.$refs有值,但無法獲取ref的值問題及解決

    vue中this.$refs有值,但無法獲取ref的值問題及解決

    這篇文章主要介紹了vue中this.$refs有值,但無法獲取ref的值問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue自動路由-單頁面項(xiàng)目(非build時(shí)構(gòu)建)

    vue自動路由-單頁面項(xiàng)目(非build時(shí)構(gòu)建)

    這篇文章主要介紹了vue自動路由-單頁面項(xiàng)目(非build時(shí)構(gòu)建),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • vue+openlayers繪制省市邊界線

    vue+openlayers繪制省市邊界線

    這篇文章主要為大家詳細(xì)介紹了vue+openlayers繪制省市邊界線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • vue3 name 屬性的使用技巧詳解

    vue3 name 屬性的使用技巧詳解

    這篇文章主要為大家介紹了vue3 name 屬性的使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 快速解決Error: error:0308010C:digital envelope routines::unsupported的三種解決方案

    快速解決Error: error:0308010C:digital envelope ro

    因?yàn)?nbsp;node.js V17版本中最近發(fā)布的OpenSSL3.0, 而OpenSSL3.0對允許算法和密鑰大小增加了嚴(yán)格的限制,下面通過本文給大家分享快速解決Error: error:0308010C:digital envelope routines::unsupported的三種解決方案,感興趣的朋友一起看看吧
    2024-02-02

最新評論

会东县| 刚察县| 阿巴嘎旗| 罗平县| 和硕县| 精河县| 芒康县| 天全县| 封开县| 贵溪市| 铜山县| 新平| 新闻| 芒康县| 新邵县| 巴彦县| 常山县| 天气| 庆阳市| 尉犁县| 郴州市| 公主岭市| 体育| 丽江市| 白水县| 博客| 会昌县| 东乌| 疏附县| 霞浦县| 元朗区| 夹江县| 奈曼旗| 忻城县| 台东县| 德江县| 唐山市| 湄潭县| 广平县| 高安市| 和平县|