<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
3***@qq.com (作者)
添加到附件了
2025-08-15 15:50