<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • vue,vant,使用過程中 Swipe 輪播自定義大小遇到的坑

          2020-4-17    前端達人

          今天講一下使用vant Swipe 輪播控件過程中遇到的問題

          主要是使用swiper自定義的大小的時候,寬度適應不同分辨率的移動設備

          適應寬度的同時還需控件的正常使用


          先看一下需要實現的功能,

          微信截圖_20200417142351.png

          微信截圖_20200417142429.png

          一個簡單的輪播圖,但是每個輪播的寬度需要低于100%,使第二個輪播的van-swipe-item可以展示到第一個位置一部分



          這時我們再去vant的文檔查看一下控件

          微信截圖_20200417142821.png


          剛好有一個自定義控件大小的可以使用,完美解決了我們的問題


          當我們使用控件之后


           <van-swipe :loop="false"  @change="onChange" :width="350">
                  <van-swipe-item v-bind:id="item0"><div class="swipe0">
                      <div class="contion">
          
                          <p class="title">家中有事,申請請假一天</p>
                          <p class="title1"><span class="rice"></span>部門經理核審中</p>
                          <p class="time">03.8 &nbsp;&nbsp;&nbsp; 14.25</p>
                          <p class="type">放假申請</p>
                      </div>
                      <img src="../../assets/images/index/xx/fangjia.png">
          
                  </div></van-swipe-item>
                  <van-swipe-item ><div class="swipe1"></div></van-swipe-item>
                  <van-swipe-item ><div class="swipe2"></div></van-swipe-item>
                  <template #indicator>
                      <div class="custom-indicator">
                          {{ current + 1 }}/3
                      </div>
                  </template>
              </van-swipe>



          發(fā)現功能可以使用,但是再 iPhone8/7 plus  以及iPhone5/se 等分辨率下出現了寬度固定而不適應的情況,

          微信截圖_20200417143329.png

          微信截圖_20200417143349.png


          簡單來說,我們把van-swipe-item寬度控制在了80% 第二個van-swipe-item自然可以展示出來一部分

          但是當滑到第二頁的時候 由于第一頁的寬度還是80% 所以就出現了這樣的情況,所以我打算采用

          監(jiān)聽 change 事件

          動態(tài)的改變 滑動到第幾頁的時候 把當頁的寬度變?yōu)?0% 其他頁保持不變,


          于是

           <van-swipe :loop="false"  @change="onChange" >
                  <van-swipe-item v-bind:id="item0"><div class="swipe0">
                      <div class="contion">
          
                          <p class="title">家中有事,申請請假一天</p>
                          <p class="title1"><span class="rice"></span>部門經理核審中</p>
                          <p class="time">03.8 &nbsp;&nbsp;&nbsp; 14.25</p>
                          <p class="type">放假申請</p>
                      </div>
                      <img src="../../assets/images/index/xx/fangjia.png">
          
                  </div></van-swipe-item>
                  <van-swipe-item v-bind:id="item1"><div class="swipe1"></div></van-swipe-item>
                  <van-swipe-item v-bind:id="item2"><div class="swipe2"></div></van-swipe-item>
                  <template #indicator>
                      <div class="custom-indicator">
                          {{ current + 1 }}/3
                      </div>
                  </template>
              </van-swipe>





          首先 我們?yōu)槊總€swipe-item添加id



           data(){
                      return {
                          android: true,
                          ios: true,
                          iphoneX: true,
                          current: 0,
                          item0:'item0',
                          item1:'item1',
                          item2:'item2',
                      }
                  },
                  mounted(){
          
                  },
                  methods: {
                      onChange(index){
                          console.log('當前 Swipe 索引:' + index);
                          if(index==1){
                              var div =document.getElementById("item0").style.setProperty('width', '10rem', 'important');
                              var div1 =document.getElementById("item1").style.setProperty('width', '9.3333333rem', 'important');
                              var div2 =document.getElementById("item2").style.setProperty('width', '9.3333333rem', 'important');
                          } else  if(index==2){
                              var div1 =document.getElementById("item1").style.setProperty('width', '10rem', 'important');
                              var div0 =document.getElementById("item0").style.setProperty('width', '10rem', 'important');
                              var div2 =document.getElementById("item2").style.setProperty('width', '9.3333333rem', 'important');
                          } else  if(index==0){
                              var div =document.getElementById("item2");
                              var div0 =document.getElementById("item0").style.setProperty('width', '9.3333333rem', 'important');
                              var div1 =document.getElementById("item1").style.setProperty('width', '9.3333333rem', 'important');
                          }
                      },



          此外,監(jiān)聽滑動事件,根據滑動到第幾頁 更改當前頁面的寬度,


          這樣就解決了




          Swipe自定義寬度下,同時適應不同分辨率的情況


          蘭蘭設計:前端達人





          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          久久精品国产精品亚洲精品| 一本久道久久综合狠狠爱| 99久久99这里只有免费费精品| 亚洲精品乱码久久久久久久久久久久 | 久久人人爽人人爽AV片| 精品久久久久久久中文字幕| 久久午夜无码鲁丝片午夜精品| 久久精品aⅴ无码中文字字幕不卡| 久久国产乱子伦免费精品| 韩国三级大全久久网站| 亚洲伊人久久综合中文成人网| 国产成人精品综合久久久| 91精品无码久久久久久五月天 | 狠狠狠色丁香婷婷综合久久俺| 日韩一区二区久久久久久| 日日狠狠久久偷偷色综合免费| 国内精品久久久久伊人av| 香港aa三级久久三级老师2021国产三级精品三级在 | 久久国产综合精品五月天| 亚洲AV日韩AV天堂久久| 久久久久亚洲爆乳少妇无| 国产亚洲精品自在久久| 欧美日韩成人精品久久久免费看| 久久国产精品77777| 伊人久久大香线蕉成人| 久久国产精品偷99| 日韩一区二区久久久久久| 2021精品国产综合久久| 国内精品伊人久久久久777| 欧美一级久久久久久久大片| 品成人欧美大片久久国产欧美 | 久久免费99精品国产自在现线 | 国产精品久久久久久福利漫画| 亚洲国产精品一区二区三区久久 | 亚洲国产精品成人久久| 一本大道久久东京热无码AV| 国产L精品国产亚洲区久久| 办公室久久精品| 国产视频久久| 久久免费香蕉视频| 久久伊人五月丁香狠狠色|