<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • vue,vant,使用過(guò)程中 Swipe 輪播自定義大小遇到的坑

    2020-4-17    前端達(dá)人

    今天講一下使用vant Swipe 輪播控件過(guò)程中遇到的問(wèn)題

    主要是使用swiper自定義的大小的時(shí)候,寬度適應(yīng)不同分辨率的移動(dòng)設(shè)備

    適應(yīng)寬度的同時(shí)還需控件的正常使用


    先看一下需要實(shí)現(xiàn)的功能,

    微信截圖_20200417142351.png

    微信截圖_20200417142429.png

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



    這時(shí)我們?cè)偃ant的文檔查看一下控件

    微信截圖_20200417142821.png


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


    當(dāng)我們使用控件之后


     <van-swipe :loop="false"  @change="onChange" :width="350">
            <van-swipe-item v-bind:id="item0"><div class="swipe0">
                <div class="contion">
    
                    <p class="title">家中有事,申請(qǐng)請(qǐng)假一天</p>
                    <p class="title1"><span class="rice"></span>部門經(jīng)理核審中</p>
                    <p class="time">03.8 &nbsp;&nbsp;&nbsp; 14.25</p>
                    <p class="type">放假申請(qǐng)</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ā)現(xiàn)功能可以使用,但是再 iPhone8/7 plus  以及iPhone5/se 等分辨率下出現(xiàn)了寬度固定而不適應(yīng)的情況,

    微信截圖_20200417143329.png

    微信截圖_20200417143349.png


    簡(jiǎn)單來(lái)說(shuō),我們把van-swipe-item寬度控制在了80% 第二個(gè)van-swipe-item自然可以展示出來(lái)一部分

    但是當(dāng)滑到第二頁(yè)的時(shí)候 由于第一頁(yè)的寬度還是80% 所以就出現(xiàn)了這樣的情況,所以我打算采用

    監(jiān)聽(tīng) change 事件

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


    于是

     <van-swipe :loop="false"  @change="onChange" >
            <van-swipe-item v-bind:id="item0"><div class="swipe0">
                <div class="contion">
    
                    <p class="title">家中有事,申請(qǐng)請(qǐng)假一天</p>
                    <p class="title1"><span class="rice"></span>部門經(jīng)理核審中</p>
                    <p class="time">03.8 &nbsp;&nbsp;&nbsp; 14.25</p>
                    <p class="type">放假申請(qǐng)</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)槊總€(gè)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('當(dāng)前 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)聽(tīng)滑動(dòng)事件,根據(jù)滑動(dòng)到第幾頁(yè) 更改當(dāng)前頁(yè)面的寬度,


    這樣就解決了




    Swipe自定義寬度下,同時(shí)適應(yīng)不同分辨率的情況


    蘭蘭設(shè)計(jì):前端達(dá)人





    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 久久精品国产只有精品2020| 国产精品自产拍在线观看花钱看| 欧美国产亚洲精品高清不卡| 日韩精品人妻av一区二区三区| 日韩精品在线视频| 奇米精品视频一区二区三区| 精品一区二区三区在线观看| 2021国产三级精品三级在专区| 国产精品成人A区在线观看| 亚洲精品综合久久| 国产亚洲精品成人a v小说| 亚洲国产精品一区二区久久| 成人伊人精品色XXXX视频| 亚洲国产精品无码成人片久久| 九九线精品视频在线观看| 丁香色婷婷国产精品视频| 精品午夜久久福利大片| 成人无码精品1区2区3区免费看| 亚洲AV无码久久精品蜜桃| 日本五区在线不卡精品| 精品久久人人爽天天玩人人妻| 国产精品单位女同事在线| 免费精品一区二区三区第35| 9久久9久久精品| 99精品国产丝袜在线拍国语| 精品调教CHINESEGAY| 久久久一本精品99久久精品66 | 国产在视频线精品视频二代| 色妞ww精品视频7777| 亚洲欧美日韩久久精品| 日韩欧美亚洲国产精品字幕久久久 | 91精品国产福利在线观看麻豆| 大桥未久在线精品视频在线| 岛国精品一区免费视频在线观看| 久久香蕉超碰97国产精品| 久久亚洲精品中文字幕| 久久99精品久久久久久hb无码| 精品无码一区二区三区亚洲桃色 | 中文精品久久久久人妻| 一本精品中文字幕在线| 无码精品视频一区二区三区|