van-tabs的内容向上偏移过多bug

使用用van-tabs组件的 滚动导航 时就会出现 ,当它自动吸顶之后就会出现这个问题,以下是点击导航按钮出现的情况,左边的内容偏移的连标题都没了,右边正常

这个问题真的是找了很久很久,发现我在其他项目当中引用这个组件就不会出现这个问题,最终发现是因为我在使用这个组件的外边 ,包裹了一个 v-show , 后面把v-show改成v-if就行了

    <div v-if="visible">
            <div class="life-service" id="top" >
                <div class="life-con">
                        <van-tabs scrollspy sticky swipe-threshold=4 >
                            <van-tab v-for="item in functionalArr"  
                                  :title="item.functionalName" 
                                  :key="item.id">

                                <div class="tab-con">
                                    <div class="tab-title" >{{item.functionalName}}</div>
                                </div>

                            </van-tab>
                        </van-tabs>

                </div>
            </div>
             
        </div>

这就是这个组件的bug,官网也有说,但没想到 

 

VanWeApp 的 `van-tabs` 组件是一个用于显示一组选项卡的UI组件,它可以帮助你轻松地切换内容区域。如果你想在内部的 `van-tabs` 中继续嵌套另一个 `van-tabs`,这通常称为嵌套 tab 组件,你可以按照以下步骤操作: 1. 首先,在外部的 `van-tabs` 组件里,设置一个 `<van-tab>` 元素,给每个 tab 设置一个标签,并为其分配一个对应的视图区域。 ```html <van-tabs> <van-tab v-for="(item, index) in externalTabs" :key="index"> <template slot="title">{{ item.title }}</template> <div class="tab-content"> <!-- 这里是外部的第一个tabs内容 --> <van-tabs ref="nestedTabs" :options="nestedTabOptions" @change="handleNestedChange"></van-tabs> </div> </van-tab> </van-tabs> ``` 2. 然后,在外部 tabs 内部的某个地方,动态创建并管理内部嵌套的 `van-tabs` 组件,通过 `ref` 获取到该组件实例,并传入必要的选项数据。 3. 定义内部 `van-tabs` 的选项 (`nestedTabOptions`) 和事件处理函数 (`handleNestedChange`)。 ```javascript data() { return { nestedTabOptions: [ { title: 'Tab 1', value: 'tab1' }, { title: 'Tab 2', value: 'tab2' }, ], }; }, methods: { handleNestedChange(tabKey) { // 根据需要更新外部tabs内容或其他状态 this.externalState = tabKey; } } ``` 4. 当内部的 `van-tabs` 发生改变时,可以监听 `@change` 事件并相应地更新外部状态或触发其他操作。 注意,虽然这种嵌套是可以的,但过多层级的嵌套可能会导致界面复杂度增加,影响用户体验。合理规划组件结构和逻辑是很重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值