美文网首页
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