van-popup 不显示
bug 现象:
触发 picker 弹出事件后,van-overlay 黑色背景已出现,但是包含 van-picker 的 van-popup 并未显示出来。
Chrome 工具里看了一下, fixed 并未生效,虽然 position: fixed; 并没有被覆盖,但是显然是没有生效。
StackOverflow 上搜索了一下,说可能是父级元素使用 transform 影响到了 fixed 的生效。
于是,将父级元素中的
-webkit-transform: translateZ(0);
注释掉。果然 van-popup 就可以看到了。
translateZ(z) 定义 3D 转换,只是用 Z 轴的值。
触发 picker 时,背景页面自动移动到页面顶部
异常诡异,我看是显示 picker 时,vant 自动给 body 增加了一个 class van-overflow-hidden。
.van-overflow-hidden {
overflow: hidden!important;
}
使用了 overflow: hidden 之后,后台页面被禁用了滚动,页面直接返回顶部。体验非常不好,导致选择完成后,无法继续编辑下面的字段。
临时解决方案,使用样式覆盖。
body.van-overflow-hidden {
overflow: visible !important;
}
但是这样做,有一个副作用,就是会导致后台可以滚动,如何禁止后台滚动?
最后
以上就是烂漫网络最近收集整理的关于vant组件搜索并选择_Vue 组件库 Vant 的 Picker 选择器使用问题汇总的全部内容,更多相关vant组件搜索并选择_Vue内容请搜索靠谱客的其他文章。
发表评论 取消回复