2***@qq.com
2***@qq.com
  • 发布:2023-11-06 15:06
  • 更新:2023-11-06 15:06
  • 阅读:218

【报Bug】往scroll-view添加同样高度的内容@scroll返回的deltaY不一致

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.95

第三方开发者工具版本号: 1.06.2209070

基础库版本号: 12.13.6

项目创建方式: HBuilderX

操作步骤:

使用scroll-view开发聊天窗口功能,发送的消息是同样的高度,但是再发送出来的内容高度,大于scroll-view获取的高度的时候,@scroll返回的deltaY不一致

预期结果:

使用scroll-view开发聊天窗口功能,发送的消息是同样的高度,但是再发送出来的内容高度,大于scroll-view获取的高度的时候,@scroll返回的deltaY应该是同样的

实际结果:

使用scroll-view开发聊天窗口功能,发送的消息是同样的高度,但是再发送出来的内容高度,大于scroll-view获取的高度的时候,@scroll返回的deltaY与之前的不一致

bug描述:

使用scroll-view开发聊天窗口功能,发送的消息是同样的高度,但是再发送出来的内容高度,大于scroll-view获取的高度的时候,@scroll返回的deltaY不一致

let element = '.chat-item'  
        let query = uni.createSelectorQuery()  
        query.in(instance).selectAll(element).boundingClientRect()  
        query.exec(eles => {  
            if (Array.isArray(eles) && eles[0].length > 0) {  
                console.log(eles[0])  
                if(openStatus.value) {  
                    // 初始化  
                    scrollTop.value = 35  
                    eles[0].forEach(item => {  
                        scrollTop.value += item.height  
                    })  
                    openStatus.value = false  
                } else {  
                    scrollTop.value += eles[0][eles[0].length - 1].height  
                    console.log('自动滚动到底部')  
                }  
                console.log(scrollTop.value)  
            }  
        })

上述是获取内容的高度,通过高度来改变scrollTop属性,来进行滚动的控制

let scrollElement = '.scroll-container'  
        let scrollQuery = uni.createSelectorQuery()  
        scrollQuery.in(instance).selectAll(scrollElement).boundingClientRect()  
        scrollQuery.exec(eles => {  
            console.log('scroll-view高度===============',eles[0][0].height, scrollHeight.value)  
        })

上述是获取scroll-view的高度,获取到的高度是607,当内容scrollTop的大小超过scroll-view的高度607的时候,会导致@scroll返回的deltaY减少,请问这有什么方法可以解决吗?我尝试过动态增加scroll-view的高度,但是这样的效果并没有成功。

2023-11-06 15:06 负责人:无 分享
已邀请:

要回复问题请先登录注册