mpx icon indicating copy to clipboard operation
mpx copied to clipboard

[Bug report] scroll-view: DOM and touch movement issues happened when lacking of width and height

Open LikeDreamwalker opened this issue 3 years ago • 3 comments

问题描述
这不能完全算是一个BUG,但是的确体验不太好。 我在使用scroll-view时,没有注意到width和height props,直接使用后滑动页面时就会产生这些报错,有些情况下是由mpx-scroll-view抛出的,但有的时候是better-scroll抛出的。实际上width和height必须在CSS中指定给scroll-view,因为我在源码中注意到(line 263)通过refs获取到了容器和内容的宽高等样式。 如果这些样式最终是交由JS处理的,有没有可能通过props传入width和height两个rpx props?或者是否可以在scroll-view初始化时抛出一个宽高获取的提示和安全取值呢?依赖指定宽高是应该也是可以被理解的,但是现在的错误抛出方式容易被理解为是better-scroll出现了什么问题,而不是调用层面。

环境信息描述
至少包含以下部分:

  1. 系统类型(Mac或者Windows):Mac
  2. Mpx依赖版本(@mpxjs/core、@mpxjs/webpack-plugin和@mpxjs/api-proxy的具体版本,可以通过package-lock.json或者实际去node_modules当中查看):2.6.110,但我搜了release记录,这个问题在更新版本中应该依然存在
  3. 小程序开发者工具信息(小程序平台、开发者工具版本、基础库版本):仅H5环境

最简复现demo
一般来说通过文字和截图的描述我们很难定位到问题,为了帮助我们快速定位问题并修复,请按照以下指南编写并上传最简复现demo: <scroll-view scroll-with-animation scroll-y scroll-into-view="1" > <view wx:for="{{30}}" wx:key="index" id="{{index}}" style=" flex: 0 0 100%; height: 10vw; background-color: #00bbff; margin-top: 1vw; display: flex; " > </view> </scroll-view>

LikeDreamwalker avatar Aug 02 '22 03:08 LikeDreamwalker

mpx-scroll-view 抛出的错误,以及better-scroll抛出的报错,辛苦贴个图我们看下

yandadaFreedom avatar Aug 31 '22 03:08 yandadaFreedom

暂时没有图了,可以用demo复现下

LikeDreamwalker avatar Aug 31 '22 07:08 LikeDreamwalker

暂时没有图了,可以用demo复现下

LikeDreamwalker avatar Aug 31 '22 07:08 LikeDreamwalker

感谢反馈 根据复现 demo ,排查到 mpx-scroll-view 抛出的报错,原因由于代码中 id 命名规则问题触发了浏览器报错,建议不要使用数字开头; 另外在未设置宽高的情况,可能触发 better-scroll 报错问题,目前已反馈给 better-scroll 团队处理,可见 https://github.com/ustbhuangyi/better-scroll/commit/6b2462ce1b5020e465a7424ce1afa9923319d0fa 后续框架会对 better-scroll 进行升级; 由于 web 组件基于微信 scroll-view 组件标准实现,目前暂时不考虑通过 props 传入 width 和 height 哈;

yandadaFreedom avatar Oct 11 '22 10:10 yandadaFreedom