u-view 的u-calendar 组件设置默认日期后,多次点击后,就不滚动到默认日期的位置

**场景:**uniapp开发微信小程序 vue2 uview版本:2.0.36 ; u-calendar 组件设置默认日期后 我打开弹窗,再关闭弹窗, 重复两次 就不显示默认日期了

在源码中找到这个位置进行打印值,根据出bug前后的值进行分析,发现,获取dom信息时候,获取的height有时候是整数有时候是小数,但是差的不大,应该是dom精度问题,属于正常情况,但是就是这个导致的问题,如果两次获取的height值不一样,就是正常的,如果两次获取的height值一样,那么就会出现这个bug, 这里要提一下,这个获取的height值是在后代组件中获取的,然后传递给祖先组件,在祖先组件中赋值给scroll-view组件的scroll-top属性。所以有个大胆的猜测,两次获取的值一样然后赋值给scroll-view的scroll-top属性,会不会第二次赋值的时候,因为和上次的值一样,进而缓存了,相当于就没有给scroll-view的scroll-top属性赋值上去,相当于没生效。

故改源码,设置一个布尔值,然后在祖先组件拿到后代组件传递上来的这个值的时候,进行动态加减0.0001几乎不印象值,但是可以实现每次值都不一样,最后测试完,发现果然好了。询问了u-view的社区维护人员,被告知是u-view的bug。也没时间追根溯源了。能解决就行。下面具体修改了源码的位置。

/uni_modules/uview-ui/components/u-calendar/u-calendar.vue文件下:

以下是源码打印日志的文件路径:/uni_modules/uview-ui/components/u-calendar/month.vue

上图中this.$uGetRect方法定义文件路径:/uni_modules/uview-ui/libs/mixin/mixin.js

相关推荐
幼儿园蛋小黑3 分钟前
SPI 子系统:从原理到实践
java·前端·数据库
Data analyse45616 分钟前
rrweb回放事件资源加载顺序重放校验
前端·人工智能·算法·机器学习·数据分析
lexiangqicheng31 分钟前
自定义表单跨端共用机制-PC设计APP渲染
java·前端·javascript
zhikouai34 分钟前
AI辅助逆向工程链路:从二进制接入到等价性校验
java·linux·前端
沙漏无语35 分钟前
pnpm 安装@vue-office包的幽灵依赖问题解决
前端·javascript·vue.js
霍格沃兹测试学院-小舟畅学41 分钟前
Playwright MCP:AI Agent 驱动 Web 自动化测试的架构与执行机制
前端·人工智能·架构
Jmyd012342 分钟前
VR全景线上展会制作流程技术解析:全景采集、点云重建与Web端渲染优化实战
前端·javascript·vr·三维数字化
北城笑笑42 分钟前
Server 18 ,Nginx 双服务器 HTTP转HTTPS 代理实战( HTTP 地址换 HTTPS 域名 )
运维·服务器·前端·后端·nginx·http·https
随性而行3601 小时前
企业微信API接口开发实战:如何实现消息回调接收与业务事件处理?
java·前端·python·微信·机器人·企业微信
℘团子এ1 小时前
vue2中自定义指令的使用
前端·javascript·vue.js