uniapp uni-popup 閃動問題


需求:首頁需要添加2個彈窗,效果如下:

 

 

 

 方法1: 如果使用兩個彈窗,點擊任務出現的彈窗和點擊發現出現的彈窗會相互影響,有時會出現任務和發現圖標閃動問題、而且彈窗不顯示問題,需要點擊多次才會出現彈窗。

終極解決:   將兩個彈窗的數據進行封裝,點擊發現和任務分別賦予彈窗不同的數據。

代碼:

<uni-popup ref="popup" type="bottom" class="popup">
            <view class="new_create">
                <view class="task_item" v-for="(item,index) in list" :key="item.id" @click="goPage(item.url)">
                    <image :src="item.icon"></image>
                    <text>{{item.title}}</text>
                </view>
            </view>
 </uni-popup>
<script>
    export default {
        data() {
            return {
                //任務彈窗數據
                data1:[
                    {id:1,icon:"../../static/h1.png",url:"/pages/index/create",title:"新建任務"},
                    {id:2,icon:"../../static/h2.png",url:"/pages/index/historytask",title:"歷史任務"},
                ],
                //載入地圖數據
                data2:[
                    {id:1,icon:"../../static/map.png",url:"/pages/xinzeng/map",title:"載入地圖"},
                    {id:2,icon:"../../static/all.png",url:"/pages/xinzeng/global",title:"全局管理"},
                    {id:3,icon:"../../static/custom.png",title:"自定義"},
                ],
                //彈窗數據
                list:[],
            }
        },
        methods: {
            //掃碼
            scancodeHandle() {
                uni.scanCode({
                    success: (res) => {
                        console.log('條碼類型:' + res.scanType);
                        console.log('條碼內容:' + res.result);
                        uni.navigateTo({
                            url: "/pages/xinzeng/coderobit"
                        })
                    }
                });
            },
            goPage(url){
                uni.navigateTo({
                    url:url
                })
            }
        },
        //tabbar監聽事件
        onTabItemTap(e) {
            console.log(e);
            if (e.index == 0) {
                this.list = this.data1;
                this.$refs.popup.open('top')
            }
            if (e.index == 2) {
                this.list = this.data2;
                this.$refs.popup.open('top')
            }
        }
    }
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM