3***@qq.com
3***@qq.com
  • 发布:2025-08-14 18:02
  • 更新:2025-08-14 18:20
  • 阅读:41

uniapp nvue 页面 使用list组件 pagingEnabled = true @scroll contentOffset.y 不准确

分类:nvue
 <template>  
    <view :style="playerStyle">  
        <!-- #ifdef APP-PLUS -->  
        <list @scroll="listScroll" :show-scrollbar="false" ref="listBox" :pagingEnabled="true" :scrollable="true"  
            :loadmoreoffset="height" :offset-accuracy="1">  
            <cell v-for="i in list" :key="i.id" :style="playerStyle">  
                <view class="" :style="playerStyle" style="border: 1px solid orangered;">  
                    <!-- <slot name="list"></slot> -->  
                </view>  
            </cell>  
        </list>  
        <!-- #endif -->  

        <!-- #ifndef APP-PLUS -->  
        <scroll-view :style="playerStyle" @scroll="viewScroll" :scroll-y="true">  
            <view :style="playerStyle" v-for="(i,v) in list" :key="v">  
                <slot name="list"></slot>  
            </view>  
        </scroll-view>  
        <!-- #endif -->  
    </view>  

</template>  

<script setup>  
    import {  
        computed  
    } from 'vue';  

    let props = defineProps(['list', 'width', 'height'])  

    let playerStyle = computed(() => {  
        return {  
            'width': '600px',  
            'height': '600px'  
        }  
    })  

    let listScroll = (e) => {  
        if (!e.isDragging) {  
            console.log('e.contentOffset.y', e.contentOffset.y)  
            let s = Math.trunc(Math.abs(Math.round(e.contentOffset.y) / props.height))  
            console.log(s)  
            console.log('============================')  
        }  
    }  

    let viewScroll = (e) => {  
        console.log(e)  
        console.log('============================')  
    }  
</script>  

<style>  

</style>

执行结果
第一次
e.contentOffset.y, [Number] -600
第二次
e.contentOffset.y, [Number] -599

2025-08-14 18:02 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

你好 可以发一个完整的复现项目吗?

  • 3***@qq.com (作者)

    添加到附件了

    2025-08-15 15:50

要回复问题请先登录注册