vue Transition on overflowed elements prevents scroll

n6lpvg4x  于 4个月前  发布在  其他
关注(0)|答案(5)|浏览(42)

版本

2.5.16

复现链接

https://codepen.io/johnjleider/pen/MVqyXB

重现步骤

  • 点击按钮打开菜单
  • 当元素正在过渡时,开始滚动(尽量不要在滚动时移动鼠标)

预期结果是什么?

可滚动区域继续滚动。

实际发生的情况是什么?

滚动区域会卡住。滚动事件仍然被触发,但实际上并没有滚动内容。一旦你移动鼠标并再次开始滚动,它就会按预期工作。
如果你在滚动之前等待过渡完成,这个bug就不会出现。

我们收到了关于 v-select 组件无法滚动的报告。我们已经确认这只发生在Chrome 65中,但甚至可以追溯到框架的0.15版本(Vuetify)。我创建了附加的codepen来确定这是否是特定于框架的问题,还是普遍可复现的问题。
虽然可能还有其他CSS属性触发这个问题,但我只成功地使用过透明度,并且这种情况特别与 enter 声明相关。如果你移除入口动画,这个问题就不会发生。

移除入口动画https://codepen.io/johnjleider/pen/ZxMObZ?editors=1111

bakd9h0s

bakd9h0s1#

我无法在OSX上复现这个问题,你确定这仅仅是浏览器的bug吗?你能尝试手动添加这些类而不使用Vue吗?

qcbq4gxm

qcbq4gxm2#

这是一个没有过渡系统的示例:https://codepen.io/johnjleider/pen/BrOzdV
至于它是否是一个Chrome的bug,我不确定。
编辑:我在Windows 10上。可以确认其他OSX用户也无法重现这个问题。

clj7thdc

clj7thdc3#

仅供参考:Linux + Chrome 对我来说是可行的。

iswrvxsc

iswrvxsc4#

假设你的提交修复了这个问题,那么将关闭这个工单。如果问题仍然存在并且是一个vue core问题,请随时重新打开。

guz6ccqo

guz6ccqo5#

我的提交没有解决这个问题。我在调试Vuetify中的contain CSS属性与Chrome 65相关的问题时发现了这个问题。

相关问题