vant icon indicating copy to clipboard operation
vant copied to clipboard

[Bug Report] Tabs组件切换问题

Open YH-82 opened this issue 1 year ago • 6 comments

重现链接

https://codesandbox.io/p/devbox/vant-4-issue-template-forked-llg2kc?file=%2Fsrc%2FApp.vue%3A34%2C21

Vant 版本

4.9.4

描述一下你遇到的问题。

image

重现步骤

  1. 存在两个tab item,第一个高度300,第二个高度100,从第一个切换到第二个的时候,第二个底部存在空白 image
  2. 经检验:是由于.van-swipe-item中height: 100%覆盖了.van-tab__panel-wrapper--inactive中height:0的样式,导致出现以上问题

注意:codesandbox的链接只是示例,在实际代码中,本地环境的代码.van-tab__panel-wrapper--inactive中height:0会覆盖.van-swipe-item中height: 100%,因此是正常的,如下图 image 然而打包到了测试环境后,就出现问题; 看了源码,这两个样式并没有先后顺序,导致了打包后的先后顺序不确定。或许inactive的样式应该多加一些前缀来保证它的权重 image image

设备/浏览器

No response

YH-82 avatar Aug 21 '24 02:08 YH-82

从你的截图上来看,你在 build 后出现了两份相同的,但优先级顺序不一致 css:

d9b8011e-5320-4b8d-a510-4ae69fa10650

所以,这可能和你的构建工具以及构建配置有关,你可以再提供一个最小复现的仓库,这样我才能更好的帮助你找到问题。

初步猜测,可能和你的分包分块相关的配置有关系。

pany-ang avatar Aug 21 '24 05:08 pany-ang

https://x.com/Alkaidcc992/status/1813754570331549780?t=YLGU4fZnKOrK_VY9XtQ1bA&s=19

同一个问题,我的解决方法是强制覆盖样式

Alkaidcc avatar Aug 26 '24 06:08 Alkaidcc

https://x.com/Alkaidcc992/status/1813754570331549780?t=YLGU4fZnKOrK_VY9XtQ1bA&s=19

同一个问题,我的解决方法是强制覆盖样式

是的,目前是这么解决的。但我的项目不是vite,还是用的webpack,打包后也会出现同样的问题

YH-82 avatar Aug 26 '24 10:08 YH-82

https://x.com/Alkaidcc992/status/1813754570331549780?t=YLGU4fZnKOrK_VY9XtQ1bA&s=19

同一个问题,我的解决方法是强制覆盖样式

是的,目前是这么解决的。但我的项目不是vite,还是用的webpack,打包后也会出现同样的问题

YH-82 avatar Aug 26 '24 10:08 YH-82

https://x.com/Alkaidcc992/status/1813754570331549780?t=YLGU4fZnKOrK_VY9XtQ1bA&s=19

同一个问题,我的解决方法是强制覆盖样式

是的,目前是这么解决的。但我的项目不是vite,还是用的webpack,打包后也会出现同样的问题

YH-82 avatar Aug 26 '24 10:08 YH-82

https://x.com/Alkaidcc992/status/1813754570331549780?t=YLGU4fZnKOrK_VY9XtQ1bA&s=19

同一个问题,我的解决方法是强制覆盖样式

是的,目前是这么解决的。但我的项目不是vite,还是用的webpack,打包后也会出现同样的问题

YH-82 avatar Aug 26 '24 10:08 YH-82

参考 https://github.com/youzan/vant/issues/12643

inottn avatar Sep 30 '24 17:09 inottn