vant
vant copied to clipboard
[Bug Report] 页面使用转场动画 popover定位失效问题
设备 / 浏览器
chrome
Vant 版本
3.0.14
Vue 版本
3.0.11
重现链接
https://jsbin.com/kiburopabi/edit?html,css,js,output
描述问题
第一次进A页面时popover组件可以正常显示,点击跳到b页面,再点击回到A页面时popover组件定位偏移不见了
这个bug看源代码,我的分析是:当popover 一开始就显示时即重新链接的show为true时,mouted 之后 ,再执行this.$nextTick,仍然没有拿到真实的dom,还是虚拟dom对象。在源码mounted中加了个延时,问题得以解决。 总觉得这个不是解决方法,所以没有提交pr,想请教下 mouted 之后 ,再执行this.$nextTick,为什么仍然没有拿到真实的dom?
2.x分支的源码 57行 修改为
mounted() {
setTimeout(()=>{
this.updateLocation();
}, 500)
}
改成上述问题得到解决。
可在71行中,添加测试打印
createPopper() {
console.log(this.$refs.wrapper, this.$refs.popover.$el);
...
另外: 这个重现的时 vue2.x vant 2.xde
@chenjiahan
还是提个pr吧