小白大人
小白大人
  • 发布:2025-09-20 02:54
  • 更新:2025-09-20 02:54
  • 阅读:16

【报Bug】uniappx uvue页面调用uni.pageScrollTo报错,如果不进行手动滚动一下页面,则一直报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows11

HBuilderX类型: 正式

HBuilderX版本号: 4.76

手机系统: Android

手机系统版本号: Android 15

手机厂商: iqoo

手机机型: Neo9

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
<template>  
    <!-- #ifdef APP -->  
    <scroll-view style="flex:1">  
    <!-- #endif -->  
        <view @click="onTop">  
            <text v-for="(n,i) in list" :class="['txt_'+i]">  
                {{n}}  
            </text>  
        </view>  
    <!-- #ifdef APP -->  
    </scroll-view>  
    <!-- #endif -->  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                list:[] as string[]  

            }  
        },  
        created() {  
            for(let i=0;i<50;i++) {  
                this.list.push(i+':可以滚动到指定的scrollTop值处,也可以滚动到指定的目标元素处')  
            }  
        },  
        methods: {  
            onTop(){  
                uni.pageScrollTo({  
                    selector:'.txt_30'  
                })  
            },  
        }  
    }  
</script>  

<style>  

</style>  

预期结果:

可以不需要手动滚动一下

实际结果:

必须要手动滚动一下页面,才能正确运行uni.pageScrollTo

bug描述:

uniappx uvue页面调用uni.pageScrollTo报错,如果不进行手动滚动一下页面,则一直报错,多点击几次会出现大段错误

02:46:37.642 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:46:37.642 at pages/demo/demo.uvue:30:4
02:46:37.642 28 | methods: {
02:46:37.642 29 | onTop(){
02:46:37.642 30 | uni.pageScrollTo({
02:46:37.642 | ^^^^^^^^^^^^^^^^^^
02:46:37.642 31 | selector:'.txt_30'
02:46:37.642 32 | })⁠
02:46:38.047 Possible Unhandled Promise Rejection: ‍[⁠java.lang.ClassCastException⁠]‍ {cause: null, message: "java.lang.String cannot be cast to java.lang.Number"}
02:46:43.919 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:46:43.919 at pages/demo/demo.uvue:30:4
02:46:43.919 28 | methods: {
02:46:43.919 29 | onTop(){
02:46:43.919 30 | uni.pageScrollTo({
02:46:43.919 | ^^^^^^^^^^^^^^^^^^
02:46:43.919 31 | selector:'.txt_30'
02:46:43.919 32 | })⁠
02:46:43.919 Possible Unhandled Promise Rejection: ‍[⁠java.lang.ClassCastException⁠]‍ {cause: null, message: "java.lang.String cannot be cast to java.lang.Number"}
02:46:44.068 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:46:44.068 at pages/demo/demo.uvue:30:4
02:46:44.068 28 | methods: {
02:46:44.068 29 | onTop(){
02:46:44.068 30 | uni.pageScrollTo({
02:46:44.068 | ^^^^^^^^^^^^^^^^^^
02:46:44.068 31 | selector:'.txt_30'
02:46:44.068 32 | })⁠
02:46:44.087 Possible Unhandled Promise Rejection: ‍[⁠java.lang.ClassCastException⁠]‍ {cause: null, message: "java.lang.String cannot be cast to java.lang.Number"}
02:46:44.226 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:46:44.226 at pages/demo/demo.uvue:30:4
02:46:44.226 28 | methods: {
02:46:44.226 29 | onTop(){
02:46:44.226 30 | uni.pageScrollTo({
02:46:44.226 | ^^^^^^^^^^^^^^^^^^
02:46:44.226 31 | selector:'.txt_30'
02:46:44.226 32 | })⁠
02:46:44.236 Possible Unhandled Promise Rejection: ‍[⁠java.lang.ClassCastException⁠]‍ {cause: null, message: "java.lang.String cannot be cast to java.lang.Number"}
02:46:44.896 Possible Unhandled Promise Rejection: ‍[⁠java.lang.ClassCastException⁠]‍ {cause: null, message: "java.lang.String cannot be cast to java.lang.Number"}
02:46:44.896 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:46:44.896 at pages/demo/demo.uvue:30:4
02:46:44.896 28 | methods: {
02:46:44.896 29 | onTop(){
02:46:44.896 30 | uni.pageScrollTo({
02:46:44.896 | ^^^^^^^^^^^^^^^^^^
02:46:44.896 31 | selector:'.txt_30'
02:46:44.896 32 | })⁠
02:46:46.128 Possible Unhandled Promise Rejection: ‍[⁠java.lang.ClassCastException⁠]‍ {cause: null, message: "java.lang.String cannot be cast to java.lang.Number"}
02:46:46.143 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:46:46.143 at pages/demo/demo.uvue:30:4
02:46:46.143 28 | methods: {
02:46:46.143 29 | onTop(){
02:46:46.143 30 | uni.pageScrollTo({
02:46:46.143 | ^^^^^^^^^^^^^^^^^^
02:46:46.143 31 | selector:'.txt_30'
02:46:46.143 32 | })⁠
02:46:46.581 pl.deliverInputEvent(ViewRootImpl.java:11717)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:11668)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:11625)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11889)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:314)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:352)
at android.os.Looper.loopOnce(Looper.java:202)
at android.os.Looper.loop(Looper.java:340)
at io.dcloud.px.i2.a(SourceFile:64)
at io.dcloud.px.i2$$ExternalSyntheticLambda2.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:1014)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:250)
at android.os.Looper.loop(Looper.java:340)
at android.app.ActivityThread.main(ActivityThread.java:9867)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:621)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:957)
---END:EXCEPTION---
02:46:46.735 ⁠error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
02:46:46.735 at pages/demo/demo.uvue:30:4
02:46:46.735 28 | methods: {
02:46:46.735 29 | onTop(){
02:46:46.735 30 | uni.pageScrollTo({
02:46:46.735 | ^^^^^^^^^^^^^^^^^^
02:46:46.735 31 | selector:'.txt_30'
02:46:46.735 32 | })⁠
02:46:46.735 thod)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:621)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:957)
---END:EXCEPTION---
02:47:35.086 ⁠‌error: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number‌
02:47:35.086 at pages/demo/demo.uvue:30:4
02:47:35.086 28 | methods: {
02:47:35.086 29 | onTop(){
02:47:35.086 30 | uni.pageScrollTo({
02:47:35.086 | ^^^^^^^^^^^^^^^^^^
02:47:35.086 31 | selector:'.txt_30'
02:47:35.086 32 | })⁠
02:47:35.086 \n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2860)\n\tat android.view.ViewGroup.dispatchTransformedTouchEventInternal(ViewGroup.java:3198)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2860)\n\tat android.view.ViewGroup.dispatchTransformedTouchEventInternal(ViewGroup.java:3198)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2860)\n\tat android.view.ViewGroup.dispatchTransformedTouchEventInternal(ViewGroup.java:3198)\n\tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141)\n\tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2860)\n\tat com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:609)\n\tat com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:2093)\n\tat android.app.Activity.dispatchTouchEvent(Activity.java:4777)\n\tat io.dcloud.uniapp.appframe.activity.UniPageActivity.dispatchTouchEvent(SourceFile:1)\n\tat androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)\n\tat com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:558)\n\tat android.view.View.dispatchPointerEvent(View.java:17000)\n\tat android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:9129)\n\tat android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:8735)\n\tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:8086)\n\tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:8153)\n\tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:8114)\n\tat android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:8288)\n\tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:8122)\n\tat android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:8345)\n\tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:8090)\n\tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:8153)\n\tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:8114)\n\tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:8122)\n\tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:8090)\n\tat android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:11717)\n\tat android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:11668)\n\tat android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:11625)\n\tat android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11889)\n\tat android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:314)\n\tat android.os.MessageQueue.nativePollOnce(Native Method)\n\tat android.os.MessageQueue.next(MessageQueue.java:352)\n\tat android.os.Looper.loopOnce(Looper.java:202)\n\tat android.os.Looper.loop(Looper.java:340)\n\tat io.dcloud.px.i2.a(SourceFile:64)\n\tat io.dcloud.px.i2$$ExternalSyntheticLambda2.run(D8$$SyntheticClass:0)\n\tat android.os.Handler.handleCallback(Handler.java:1014)\n\tat android.os.Handler.dispatchMessage(Handler.java:102)\n\tat android.os.Looper.loopOnce(Looper.java:250)\n\tat android.os.Looper.loop(Looper.java:340)\n\tat android.app.ActivityThread.main(ActivityThread.java:9867)\n\tat java.lang.reflect.Method.invoke(Native Method)\n\tat com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:621)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:957)\n"}}]---END:CONSOLE---
02:48:23.551 App Hide at App.uvue:13

2025-09-20 02:54 负责人:无 分享
已邀请:

要回复问题请先登录注册