文件
OmniCard/mpuniapp/pages/API/page-scroll-to/page-scroll-to.uvue

61 行
1.4 KiB
Plaintext

<template>
<!-- #ifdef APP && !VUE3-VAPOR -->
<scroll-view style="flex: 1" scroll-with-animation="true">
<!-- #endif -->
<view class="uni-padding-wrap">
<page-head :title="title"></page-head>
<button type="default" class="btn-scrollTo" @click="scrollTo">
scrollTo
</button>
<button type="default" class="btn-scrollToElement" @click="scrollToElement">
scrollToElement
</button>
<view class="uni-list" v-for="(_, index) in 10" :key="index">
<view class="uni-list-cell list-item">{{ index }}</view>
</view>
<view class="custom-element">scrollTo-custom-element</view>
<view class="uni-list" v-for="(_, index2) in 10" :key="index2">
<view class="uni-list-cell list-item">{{ index2 }}</view>
</view>
</view>
<!-- #ifdef APP && !VUE3-VAPOR -->
</scroll-view>
<!-- #endif -->
</template>
<script setup lang="uts">
const title = ref('pageScrollTo')
const scrollTo = () => {
uni.pageScrollTo({
scrollTop: 100,
duration: 300,
success: () => {
console.log('success')
},
})
}
const scrollToElement = () => {
uni.pageScrollTo({
selector: '.custom-element',
duration: 300,
success: () => {
console.log('success')
},
})
}
defineExpose({
scrollTo
})
</script>
<style>
.list-item {
height: 100px;
padding-left: 30px;
}
</style>