美文网首页
Vant使用经验谈

Vant使用经验谈

作者: microkof | 来源:发表于2020-06-25 22:10 被阅读0次

让Tab组件的content局部滚动

实现局部滚动有一种非常简单的方法,就是利用父元素display: flex; flex-direction: column;,加上某个子元素的flex: 1; overflow: auto;,就可以让该子元素的内容局部滚动起来,有时候为了让其他子元素不被挤扁,还需要给其他子元素设置flex: 0;。但是,这个方案如果套用在Tab组件上,就有点麻烦:

组件代码举例:

<van-tabs v-model="active" class="tabs-container">
  <van-tab title="标签 1" class="tabs-content">内容 1</van-tab>
  <van-tab title="标签 2" class="tabs-content">内容 2</van-tab>
  <van-tab title="标签 3" class="tabs-content">内容 3</van-tab>
  <van-tab title="标签 4" class="tabs-content">内容 4</van-tab>
</van-tabs>

生成的DOM是:

image.png

可以看出,我希望给van-tabs__wrapvan-tabs__content设class,但是我的class却设不到它俩身上。

解决方案:使用这段scss,并且给组件根元素加上class="flex-van-tabs"即可。

<style lang="scss">
.flex-van-tabs {
  display: flex;
  flex-direction: column;

  > .van-tabs__wrap {
    flex: none;
  }
  > .van-tabs__content {
    flex: 1;
    overflow: auto;
  }
}
</style>

相关文章

网友评论

      本文标题:Vant使用经验谈

      本文链接:https://www.haomeiwen.com/subject/hpryvftx.html