<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Boostrap5通過JS控制Offcanvas的顯示隱藏

      -------UPDATE: 2024-04-24-------

      原來是導入bootstrap包有問題,重復導入了

      涉及的技術棧

      • vue3
      • vite
      • bootstrap5

      背景

      • 在用bootstrap5的時候遇到一個問題,就是offcanvas在nav上的時候居然會有兩個背景BackDrop,關閉之后頁面上還有一個backdrop留在那
      • bootstrap5文檔里面提供了幾個Method可以控制Offcanvas實例的顯示隱藏,但是不會用

      復現問題

      image

      1. 點擊offcanvas中的導航控件,頁面正常跳轉,但是無法關閉offcanvas
      2. 點擊offcanvas外部區域,會多一次backdrop,無法直接關閉

      解決方式

      參考鏈接:https://stackoverflow.com/questions/73428036/how-to-hide-bootstrap-offcanvas-in-vue3-when-router-link-is-clicked#:~:text=you have to create an offcanvas instance with,let myOffcanvas %3D document.getElementById('offcanvasDarkNavbar') let bsOffcanvas %3D bootstrap.Offcanvas.getInstance(myOffcanvas)%3B

      1. 跳轉無法關閉offcanvas

      通過StackOverflow中提供的解決方式

      部分offcanvas代碼

       <div id="offcanvasNavbar" ref="offcanvasRef" class="offcanvas-start offcanvas">
      	<div class="offcanvas-header"></div>
      	<div class="offcanvas-body"></div>
      </div>
      

      點擊跳轉鏈接,觸發點擊事件的時候,加上這個來隱藏offcanvas
      引入bootstrap

      
      import * as bootstrap from 'bootstrap';
      
      hideThisCanvas(){ 
          let myOffcanvas = document.getElementById('offcanvasDarkNavbar');
          let bsOffcanvas = bootstrap.Offcanvas.getInstance(myOffcanvas); 
          bsOffcanvas.hide();
      }
      

      通過ref的方式試了一下對我這里好像沒什么用,所以就直接通過查詢DOM來獲取offcanvas的實例了

      1. 自動關閉offcanvas無法關閉多出來的backdrop
        image

      為什么一個offcanvas會有倆backdrop,我也還沒明白為啥,文檔里面的示例都只有一個backdrop來的

      所以目前就通過在關閉offcanvas的時候,再調用一下刪除所有backdrop的方法了

      在@click的事件里面同時傳入點擊事件實例

      <ul class="dropdown-menu">
          <li><a class="dropdown-item bi bi-file-image" @click="jump($event, '/path1')">套圖</a></li>
          <li><a class="dropdown-item bi bi-file-richtext" @click="jump($event, '/path2')">圖文</a>
          </li>
      </ul>
      
          removeDocumentBackdrops(e) {
              let list = document.getElementsByClassName('offcanvas-backdrop');
              for (let i = 0; i < list.length; i++) {
                  list[i].remove();
              }
          },
      

      一通百通

      上述過程也可以應用到Bootstrap其他的組件上,調用對應的method控制組件狀態

      1. 引入import * as bootstrap from 'bootstrap';
      2. 初始化組件 bootstrap.Offcanvas.getInstance(myOffcanvas);

      注意 bootstrap有些組件可能沒有

      posted @ 2024-03-14 14:15  你啊347  閱讀(409)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕av一区二区| 日韩午夜福利视频在线观看| 泰州市| 国内综合精品午夜久久资源| 亚洲香蕉免费有线视频| 日韩有码av中文字幕| 亚洲AV成人无码久久精品四虎| 永久免费无码成人网站| 四虎在线永久免费看精品| 亚洲天堂伊人久久a成人| 色综合久久久久综合体桃花网| 亚洲人成伊人成综合网小说| 日韩高清砖码一二区在线| 怡红院一区二区三区在线| 国产一区在线播放av| 亚洲精品电影院| 亚洲人成网站18禁止无码| 国产亚洲综合区成人国产| 少妇性l交大片| 国产伦一区二区三区久久| 综合偷自拍亚洲乱中文字幕| 最新国产精品中文字幕| 亚洲色在线v中文字幕| 99久久婷婷国产综合精品| 国产精品一二二区视在线| 日本丰满熟妇hd| 老色99久久九九爱精品| 亚洲国产欧美一区二区好看电影| 亚洲色精品VR一区二区三区| 国产自拍在线一区二区三区 | 制服jk白丝h无内视频网站| 精品精品久久宅男的天堂| 少妇粉嫩小泬喷水视频www| 久久精品国产一区二区三区| 国产成人午夜福利在线播放| 色欲国产精品一区成人精品| 亚洲第四色在线中文字幕| 热久久美女精品天天吊色| 自拍第一区视频在线观看| 无码人妻精品一区二区三区下载 | 国产一二三五区不在卡|