问题描述:
当设置u-tabs组件scrollable属性为false时,初始化渲染 tabs的下划线没有居中对其,出现异位。
官网文档地址:http://uviewui.com/components/tabs.html
如图
解决办法:
方法一 :先将tabs组件隐藏不加载该组件,待页面加载完成在显示。
<template>
<view>
<view class="tabListDiv" v-if="showTap">
<u-tabs @click="tabClick" :list="tabList" lineWidth="30" lineColor="#f0ad4e"
:activeStyle="{ color: '#FF8A00',fontWeight: 'bold'}" :inactiveStyle="{ color: '#080808'}"
itemStyle="height:40px;" :scrollable="false">
</u-tabs>
</view>
</view>
</template>
<script>
export default {
data() {
return {
showTap:false
}
},
onShow() {
this.$nextTick(() => {
// 解决uview u-tab,下划线异常
this.showTap=true
});
},
methods: {
}
}
</script>
<style lang="scss">
</style>
方法二: 给itemStyle设置固定宽度(非必要-不建议这种方法)
<u-tabs @click="tabClick" :list="tabList" lineWidth="30" lineColor="#f0ad4e"
:activeStyle="{ color: '#FF8A00',fontWeight: 'bold'}" :inactiveStyle="{ color: '#080808'}"
itemStyle="height:40px;width:140rpx" :scrollable="true">
</u-tabs>