Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ripplebb
uni-app
提交
7ef5d2cd
U
uni-app
项目概览
ripplebb
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7ef5d2cd
编写于
11月 03, 2022
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(h5): tabBar set midButton
上级
ad024491
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
49 addition
and
45 deletion
+49
-45
src/platforms/h5/components/app/tabBar.vue
src/platforms/h5/components/app/tabBar.vue
+44
-40
src/platforms/h5/service/api/ui/tab-bar.js
src/platforms/h5/service/api/ui/tab-bar.js
+5
-5
未找到文件。
src/platforms/h5/components/app/tabBar.vue
浏览文件 @
7ef5d2cd
...
...
@@ -40,16 +40,16 @@
:class=
"
{'uni-tabbar__icon__diff':!item.text}"
class="uni-tabbar__icon"
:style="{width: iconWidth,height:iconWidth}"
>
<div
v-if=
"item.iconfont"
:style=
"
{
color:selectedIndex === index ? item.iconfont.selectedColor : item.iconfont.color,
fontSize: item.iconfont.fontSize || iconWidth
}"
class="uni-tabbar__iconfont"
>
{{
selectedIndex
===
index
?
item
.
iconfont
.
selectedText
:
item
.
iconfont
.
text
}}
>
<div
v-if=
"item.iconfont"
:style=
"
{
color:selectedIndex === index ? item.iconfont.selectedColor : item.iconfont.color,
fontSize: item.iconfont.fontSize || iconWidth
}"
class="uni-tabbar__iconfont"
>
{{
selectedIndex
===
index
?
item
.
iconfont
.
selectedText
:
item
.
iconfont
.
text
}}
</div>
<img
v-else-if=
"!item.isMidButton"
...
...
@@ -169,10 +169,10 @@
uni-tabbar
.uni-tabbar__icon
img
{
width
:
100%
;
height
:
100%
;
}
uni-tabbar
.uni-tabbar__iconfont
{
font-family
:
'UniTabbarIconFont'
;
}
uni-tabbar
.uni-tabbar__iconfont
{
font-family
:
'UniTabbarIconFont'
;
}
uni-tabbar
.uni-tabbar__label
{
...
...
@@ -226,11 +226,11 @@
<
script
>
import
getRealPath
from
'
uni-platform/helpers/get-real-path
'
import
{
isPlainObject
}
from
'
uni-shared
'
import
{
publish
}
from
'
uni-platform/service/bridge
'
import
{
publish
}
from
'
uni-platform/service/bridge
'
import
{
loadFontFace
}
from
'
uni-core/view/bridge/subscribe/font
'
function
cssSupports
(
css
)
{
return
window
.
CSS
&&
CSS
.
supports
&&
(
CSS
.
supports
(
css
)
||
CSS
.
supports
.
apply
(
CSS
,
css
.
split
(
'
:
'
)))
}
}
const
UNI_TABBAR_ICON_FONT
=
'
UniTabbarIconFont
'
export
default
{
name
:
'
TabBar
'
,
...
...
@@ -256,10 +256,10 @@ export default {
borderStyle
:
{
type
:
String
,
default
:
'
black
'
},
iconfontSrc
:
{
type
:
String
,
default
:
''
},
iconfontSrc
:
{
type
:
String
,
default
:
''
},
list
:
{
type
:
Array
,
...
...
@@ -301,7 +301,8 @@ export default {
data
()
{
return
{
selectedIndex
:
0
,
visibleList
:
[]
visibleList
:
[],
internalMidButton
:
{}
}
},
computed
:
{
...
...
@@ -345,6 +346,9 @@ export default {
this
.
_initVisibleList
()
this
.
setSelectedIndex
()
}
},
midButton
(
config
)
{
this
.
_initVisibleList
()
}
},
created
()
{
...
...
@@ -352,15 +356,15 @@ export default {
if
(
item
.
visible
===
undefined
)
{
this
.
$set
(
item
,
'
visible
'
,
true
)
}
})
if
(
this
.
iconfontSrc
)
{
loadFontFace
({
options
:
{
family
:
UNI_TABBAR_ICON_FONT
,
source
:
`url("
${
this
.
iconfontSrc
}
")`
}
})
})
if
(
this
.
iconfontSrc
)
{
loadFontFace
({
options
:
{
family
:
UNI_TABBAR_ICON_FONT
,
source
:
`url("
${
this
.
iconfontSrc
}
")`
}
})
}
},
beforeCreate
()
{
...
...
@@ -422,16 +426,16 @@ export default {
const
listLength
=
list
.
length
// 偶数则添加midButton
if
(
listLength
%
2
===
0
&&
isPlainObject
(
this
.
midButton
))
{
// 给midButton赋值默认值
const
DefaultMidButton
=
{
width
:
'
50px
'
,
height
:
'
50px
'
,
iconWidth
:
'
24px
'
}
for
(
const
key
in
DefaultMidButton
)
{
this
.
midButton
[
key
]
=
this
.
midButton
[
key
]
||
DefaultMidButton
[
key
]
}
list
.
splice
(
~~
(
listLength
/
2
),
0
,
Object
.
assign
({},
this
.
m
idButton
,
{
isMidButton
:
true
}))
this
.
internalMidButton
=
Object
.
assign
(
{
width
:
'
50px
'
,
height
:
'
50px
'
,
iconWidth
:
'
24px
'
},
this
.
internalMidButton
,
this
.
midButton
)
list
.
splice
(
~~
(
listLength
/
2
),
0
,
Object
.
assign
({},
this
.
internalM
idButton
,
{
isMidButton
:
true
}))
}
return
list
},
...
...
src/platforms/h5/service/api/ui/tab-bar.js
浏览文件 @
7ef5d2cd
...
...
@@ -4,7 +4,7 @@ import {
const
setTabBarItemProps
=
[
'
text
'
,
'
iconPath
'
,
'
iconfont
'
,
'
selectedIconPath
'
,
'
visible
'
]
const
setTabBarStyleProps
=
[
'
color
'
,
'
selectedColor
'
,
'
backgroundColor
'
,
'
borderStyle
'
]
const
setTabBarStyleProps
=
[
'
color
'
,
'
selectedColor
'
,
'
backgroundColor
'
,
'
borderStyle
'
,
'
midButton
'
]
const
setTabBarBadgeProps
=
[
'
badge
'
,
'
redDot
'
]
...
...
@@ -45,10 +45,10 @@ function setTabBar (type, args = {}) {
case
'
hideTabBar
'
:
app
.
$children
[
0
].
hideTabBar
=
true
break
case
'
setTabBarItem
'
:
{
if
(
args
.
iconfont
)
{
setProperties
(
tabBar
.
list
[
index
].
iconfont
,
setTabBarIconfontStyles
,
args
.
iconfont
)
args
.
iconfont
=
tabBar
.
list
[
index
].
iconfont
case
'
setTabBarItem
'
:
{
if
(
args
.
iconfont
)
{
setProperties
(
tabBar
.
list
[
index
].
iconfont
,
setTabBarIconfontStyles
,
args
.
iconfont
)
args
.
iconfont
=
tabBar
.
list
[
index
].
iconfont
}
setProperties
(
tabBar
.
list
[
index
],
setTabBarItemProps
,
args
)
const
pagePath
=
args
.
pagePath
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录