<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 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>



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

    微信截圖_20200417143329.png

    微信截圖_20200417143349.png


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

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

    監聽 change 事件

    動態的改變 滑動到第幾頁的時候 把當頁的寬度變為80% 其他頁保持不變,


    于是

     <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>





    首先 我們為每個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');
                    }
                },



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


    這樣就解決了




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


    蘭蘭設計:前端達人





    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 亚洲精品无码mv在线观看网站| 精品不卡一区二区| 亚洲乱码精品久久久久..| 九九精品在线观看| 亚洲国产另类久久久精品| 久久精品国产亚洲7777| 免费精品99久久国产综合精品| 国产乱子伦精品无码码专区| 亚洲一区二区三区在线观看精品中文 | 911亚洲精品国产自产| 国产精品后入内射日本在线观看| 综合国产精品第一页| 男人的天堂精品国产一区| 国产欧美日本精品| 国产成人精品高清不卡在线| 欧美精品手机在线播放| 国产成人精品日本亚洲18图| 国产美女精品一区二区三区| 人人妻人人澡人人爽人人精品97| 最新国产成人精品2024| 亚洲一区精品伊人久久伊人| 亚洲精品国产va在线观看蜜芽| 免费视频精品一区二区| 日韩精品电影一区亚洲| 久久中文精品无码中文字幕| 韩国三级中文字幕hd久久精品| 国产精品国产三级国产a| 99精品影院| 国产A级毛片久久久精品毛片| 欧美亚洲国产精品久久蜜芽| 久久亚洲国产午夜精品理论片| 日韩精品久久久久久| 999精品色在线播放| 91av国产精品| 国产精品va在线观看无码| 国产精品久久久99| 精品国产午夜肉伦伦影院| 久久久99精品成人片中文字幕 | 亚洲精品自产拍在线观看| 宅男宅女精品国产AV天堂| 中文无码久久精品|