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

vue實(shí)現(xiàn)左右伸縮方式(el-drawer自定義位置展開收縮)

 更新時(shí)間:2024年07月24日 11:39:32   作者:wangjiecsdn  
這篇文章主要介紹了vue實(shí)現(xiàn)左右伸縮方式(el-drawer自定義位置展開收縮),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

實(shí)現(xiàn)需求

頁(yè)面內(nèi)容是左右布局,需求想讓左側(cè)內(nèi)容可收縮,然后展示完全右側(cè)內(nèi)容。

本來(lái)想著寫原生的css+v-show動(dòng)態(tài)判斷即可,后來(lái)想到了element組件庫(kù)有抽屜(el-drawer),順便想嘗試一下是否能自定義抽屜展開的位置,所以有了這篇文章。

實(shí)現(xiàn)效果

自定義抽屜(el-drawer)展開位置

<template>
  <div>
  	<el-row style="margin-top: 1%" :gutter="20">
      <!-- 左側(cè) 列表 -->
      <el-col style="height: 350px;" :span="span" :class="[span != '8' ? 'span1' : 'span1']">
        <div style="position: relative; width: 100%; height: 100%">
          <el-drawer
            class="drawerClass"
            style="position: absolute"
            :append-to-body="false"
            :modal="false"
            :show-close="false"
            :wrapperClosable="false"
            size="100%"
            :visible.sync="drawer"
            direction="ltr"
          >
            <el-card class="box-card" style="position: relative">
              <div>左側(cè)內(nèi)容</div>
            </el-card>
          </el-drawer>
          <div
            style="
              position: absolute;
              z-index: 999999999;
              cursor: pointer;
              top: 30%;
            "
            :class="[drawer ? 'imgright' : 'imgright1']"
            @click="clickImg"
          >
            <img
              v-show="!drawer"
              style="height: 40px; width: 25px"
              :src="require('@/assets/image/zhankai.png')"
              alt=""
            />
            <img
              v-show="drawer"
              style="height: 40px; width: 25px"
              :src="require('@/assets/image/shousuo.png')"
              alt=""
            />
          </div>
        </div>
      </el-col>
      <!-- 右側(cè) 用戶列表 -->
      <el-col :span="span1" :class="[span1 != '15' ? 'span1' : 'span1']">
        <el-card class="box-card">
          <div>右側(cè)內(nèi)容</div>
        </el-card>
      </el-col>
    </el-row>
  </div>
</template>

實(shí)現(xiàn)原理

給el-drawer父級(jí)標(biāo)簽添加position: relative;

el-drawer屬性調(diào)整:

  • :append-to-body=“false” 遮罩層是否插入至 body 元素上,
  • :modal=“false” 是否需要遮罩層
  • :show-close=“false” 是否顯示關(guān)閉按鈕
  • :wrapperClosable=“false” 點(diǎn)擊遮罩層是否可以關(guān)閉 Drawer

js方法,點(diǎn)擊的時(shí)候抽屜伸縮展開

并且給左側(cè)右側(cè)內(nèi)容對(duì)應(yīng)的寬度

export default {
  data() {
    return {
      span: 8,
      span1: 15,
      drawer: true,
    };
  },
  methods: {
    clickImg() {
      this.drawer = !this.drawer;
      if (this.drawer) {
        this.span = 8;
        this.span1 = 15;
      } else {
        this.span = 1;
        this.span1 = 23;
      }
    },
  },
};
<style lang="scss" scoped>
.span1 {
  transition: all 0.2s;
}
.imgright {
  right: 0;
  background-color: #f5f5f5;
  transition: all 0.2s;
}
.imgright1 {
  left: 0;
  background-color: #fff;
  transition: all 0.2s;
}
.drawerClass ::v-deep .el-drawer__container .el-drawer .el-drawer__header {
  display: none;
}
</style>

以上只是嘗試抽屜是否能自定義位置伸縮展開。當(dāng)然有更簡(jiǎn)單的方法寫個(gè)css動(dòng)態(tài)判斷寬度即可

第二種方法

    <el-row style="margin-top: 1%">
      
      <div style="display: flex; align-items: center">
         <!-- 左側(cè) 列表 -->
        <div :class="[drawer ? 'left' : 'left1']">
          <el-card class="box-card">
            <div>左側(cè)內(nèi)容</div>
          </el-card>
        </div>
         <!-- 折疊展開圖片-->
        <div
          style="cursor: pointer; width: 5%"
          :class="[drawer ? 'imgright' : 'imgright1']"
          @click="clickImg"
        >
          <img
            v-show="!drawer"
            style="height: 40px; width: 25px"
            :src="require('@/assets/image/zhankai.png')"
          />
          <img
            v-show="drawer"
            style="height: 40px; width: 25px"
            :src="require('@/assets/image/shousuo.png')"
          />
        </div>
           <!-- 右側(cè) 用戶列表 -->
        <div :class="[drawer ? 'right' : 'right1']">
          <el-card class="box-card">
            <div>右側(cè)內(nèi)容</div>
          </el-card>
        </div>
      </div>
    </el-row>
 methods: {
    clickImg() {
      this.drawer = !this.drawer;
    },
  },
.left {
  width: 35%;
  transition: all 0.2s;
}
.left1 {
  width: 0%;
  transition: all 0.2s;
}
.right {
  width: 65%;
  transition: all 0.2s;
}
.right1 {
  width: 95%;
  transition: all 0.2s;
}
.box-card {
  height: 350px;
  background-color: #ff6e6e;
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue2和vue3實(shí)現(xiàn)圖片懶加載方式

    vue2和vue3實(shí)現(xiàn)圖片懶加載方式

    這篇文章主要介紹了vue2和vue3實(shí)現(xiàn)圖片懶加載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue組件實(shí)現(xiàn)可搜索下拉框擴(kuò)展

    vue組件實(shí)現(xiàn)可搜索下拉框擴(kuò)展

    這篇文章主要為大家詳細(xì)介紹了vue組件實(shí)現(xiàn)可搜索下拉框的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Vue的全局過濾器和私有過濾器的實(shí)現(xiàn)

    Vue的全局過濾器和私有過濾器的實(shí)現(xiàn)

    這篇文章主要介紹了Vue的全局過濾器和私有過濾器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vue.js實(shí)戰(zhàn)之Vuex的入門教程

    Vue.js實(shí)戰(zhàn)之Vuex的入門教程

    這篇文章主要給大家介紹了Vue.js實(shí)戰(zhàn)之Vuex的入門教程,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • 使用 vue 實(shí)例更好的監(jiān)聽事件及vue實(shí)例的方法

    使用 vue 實(shí)例更好的監(jiān)聽事件及vue實(shí)例的方法

    這篇文章主要介紹了使用 vue 實(shí)例更好的監(jiān)聽事件及vue實(shí)例的方法,介紹了一種新增 vue 實(shí)例的方法,單獨(dú)監(jiān)聽事件,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Vue如何使用ElementUI對(duì)表單元素進(jìn)行自定義校驗(yàn)及踩坑

    Vue如何使用ElementUI對(duì)表單元素進(jìn)行自定義校驗(yàn)及踩坑

    有一些驗(yàn)證不是通過input select這樣的受控組件來(lái)觸發(fā)驗(yàn)證條件的 ,可以通過自定義驗(yàn)證的方法來(lái)觸發(fā),下面這篇文章主要給大家介紹了關(guān)于Vue如何使用ElementUI對(duì)表單元素進(jìn)行自定義校驗(yàn)及踩坑的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Vue 3 中 toRaw 的用法詳細(xì)講解

    Vue 3 中 toRaw 的用法詳細(xì)講解

    `toRaw` 是 Vue3 提供的一個(gè) API,用于獲取響應(yīng)式對(duì)象的原始非響應(yīng)式對(duì)象,主要用于調(diào)試、與第三方庫(kù)兼容以及避免無(wú)限遞歸更新等場(chǎng)景,使用時(shí)需要注意不要濫用,以免破壞響應(yīng)式系統(tǒng),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • vue3中的reactive、readonly和shallowReactive使用詳解

    vue3中的reactive、readonly和shallowReactive使用詳解

    在 Vue3 中,可以使用 shallowReactive 函數(shù)創(chuàng)建一個(gè)淺層響應(yīng)式對(duì)象,它接收一個(gè)普通對(duì)象作為參數(shù),返回一個(gè)淺層響應(yīng)式代理對(duì)象,本文給大家介紹vue3中的reactive、readonly和shallowReactive使用,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • vue項(xiàng)目中常見問題及解決方案(推薦)

    vue項(xiàng)目中常見問題及解決方案(推薦)

    這篇文章主要介紹了vue項(xiàng)目中常見問題及解決方案,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Vue開發(fā)Sort組件代碼詳解

    Vue開發(fā)Sort組件代碼詳解

    這篇文章主要介紹了Vue開發(fā)Sort組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2021-10-10

最新評(píng)論

石景山区| 长宁区| 浮梁县| 长顺县| 盖州市| 申扎县| 湖北省| 南充市| 于田县| 罗甸县| 资兴市| 永顺县| 长乐市| 永福县| 徐州市| 历史| 黔东| 东至县| 怀安县| 安西县| 盐城市| 永清县| 无棣县| 扬中市| 汉中市| 桂东县| 神池县| 日土县| 利津县| 克什克腾旗| 罗定市| 广灵县| 衡阳县| 天全县| 湘阴县| 阿拉善右旗| 文登市| 防城港市| 富川| 嘉善县| 平昌县|