提交 da90a59a 编写于 作者: Q qiang

fix: 优化TabBar红点位置 fixed #1111

上级 bcb96cf7
...@@ -10,24 +10,35 @@ ...@@ -10,24 +10,35 @@
v-for="(item,index) in list" v-for="(item,index) in list"
:key="item.pagePath" :key="item.pagePath"
class="uni-tabbar__item" class="uni-tabbar__item"
@click="_switchTab(item,index)"> @click="_switchTab(item,index)"
>
<div class="uni-tabbar__bd"> <div class="uni-tabbar__bd">
<div <div
v-if="item.iconPath" v-if="item.iconPath"
:class="{'uni-tabbar__icon__diff':!item.text}" :class="{'uni-tabbar__icon__diff':!item.text}"
class="uni-tabbar__icon"> class="uni-tabbar__icon"
<img :src="_getRealPath($route.meta.pagePath===item.pagePath?item.selectedIconPath:item.iconPath)"> >
<img
:src="_getRealPath($route.meta.pagePath===item.pagePath?item.selectedIconPath:item.iconPath)"
>
<div
v-if="item.redDot"
:class="{'uni-tabbar__badge':!!item.badge}"
class="uni-tabbar__reddot"
>{{ item.badge }}</div>
</div> </div>
<div <div
v-if="item.text" v-if="item.text"
:style="{color:$route.meta.pagePath===item.pagePath?selectedColor:color,fontSize:item.iconPath?'10px':'14px'}" :style="{color:$route.meta.pagePath===item.pagePath?selectedColor:color,fontSize:item.iconPath?'10px':'14px'}"
class="uni-tabbar__label"> class="uni-tabbar__label"
>
{{ item.text }} {{ item.text }}
<div
v-if="item.redDot&&!item.iconPath"
:class="{'uni-tabbar__badge':!!item.badge}"
class="uni-tabbar__reddot"
>{{ item.badge }}</div>
</div> </div>
<div
v-if="item.redDot"
:class="{'uni-tabbar__badge':!!item.badge}"
class="uni-tabbar__reddot">{{ item.badge }}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -95,11 +106,11 @@ uni-tabbar .uni-tabbar__icon { ...@@ -95,11 +106,11 @@ uni-tabbar .uni-tabbar__icon {
position: relative; position: relative;
display: inline-block; display: inline-block;
margin-top: 5px; margin-top: 5px;
width: 27px; width: 24px;
height: 27px; height: 24px;
} }
uni-tabbar .uni-tabbar__icon.uni-tabbar__icon__diff{ uni-tabbar .uni-tabbar__icon.uni-tabbar__icon__diff {
margin-top: 0px; margin-top: 0px;
width: 34px; width: 34px;
height: 34px; height: 34px;
...@@ -128,25 +139,25 @@ uni-tabbar .uni-tabbar-border { ...@@ -128,25 +139,25 @@ uni-tabbar .uni-tabbar-border {
uni-tabbar .uni-tabbar__reddot { uni-tabbar .uni-tabbar__reddot {
position: absolute; position: absolute;
top: 6px; top: 0;
left: 16px; right: 0;
width: 12px; width: 12px;
height: 12px; height: 12px;
display: inline-block;
border-radius: 50%; border-radius: 50%;
background-color: #f43530; background-color: #f43530;
color: #ffffff; color: #ffffff;
transform: translate(40%, -20%);
} }
uni-tabbar .uni-tabbar__badge { uni-tabbar .uni-tabbar__badge {
top: 4px;
border-radius: 18px;
min-width: 8px;
width: auto; width: auto;
height: auto; height: 16px;
padding: 0.15em 0.5em; line-height: 16px;
border-radius: 16px;
min-width: 16px;
padding: 0 2px;
font-size: 12px; font-size: 12px;
line-height: 1.2; text-align: center;
white-space: nowrap; white-space: nowrap;
} }
</style> </style>
...@@ -219,21 +230,21 @@ export default { ...@@ -219,21 +230,21 @@ export default {
let url = '/' + pagePath let url = '/' + pagePath
if (url === __uniRoutes[0].alias) { if (url === __uniRoutes[0].alias) {
url = '/' url = '/'
} }
const detail = { const detail = {
index, index,
text, text,
pagePath pagePath
} }
if (this.$route.path !== url) { if (this.$route.path !== url) {
this.__path__ = this.$route.path this.__path__ = this.$route.path
uni.switchTab({ uni.switchTab({
from: 'tabBar', from: 'tabBar',
url, url,
detail detail
}) })
} else { } else {
UniServiceJSBridge.emit('onTabItemTap', detail) UniServiceJSBridge.emit('onTabItemTap', detail)
} }
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册