Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
68ca0ce1
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5995
Star
90
Fork
162
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
68ca0ce1
编写于
9月 02, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
补充弹窗控制tabbar示例
上级
7b3b7a56
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
179 addition
and
7 deletion
+179
-7
components/api-set-tabbar/api-set-tabbar.vue
components/api-set-tabbar/api-set-tabbar.vue
+156
-0
pages/tabBar/API.uvue
pages/tabBar/API.uvue
+23
-7
未找到文件。
components/api-set-tabbar/api-set-tabbar.vue
0 → 100644
浏览文件 @
68ca0ce1
<
template
>
<view
class=
"uni-padding-wrap"
>
<page-head
:title=
"title"
></page-head>
<button
class=
"button"
@
click=
"setTabBarBadge"
>
{{
!
hasSetTabBarBadge
?
'
设置tab徽标
'
:
'
移除tab徽标
'
}}
</button>
<button
class=
"button"
@
click=
"showTabBarRedDot"
>
{{
!
hasShownTabBarRedDot
?
'
显示红点
'
:
'
移除红点
'
}}
</button>
<button
class=
"button"
@
click=
"customStyle"
>
{{
!
hasCustomedStyle
?
'
自定义Tab样式
'
:
'
移除自定义样式
'
}}
</button>
<button
class=
"button"
@
click=
"customItem"
>
{{
!
hasCustomedItem
?
'
自定义Tab信息
'
:
'
移除自定义信息
'
}}
</button>
<button
class=
"button"
@
click=
"hideTabBar"
>
{{
!
hasHiddenTabBar
?
'
隐藏TabBar
'
:
'
显示TabBar
'
}}
</button>
<view
class=
"btn-area"
>
<!--
<button
class=
"button"
type=
"primary"
@
click=
"navigateBack"
>
关闭
</button>
-->
</view>
</view>
</
template
>
<
script
lang=
"uts"
>
export
default
{
data
()
{
return
{
title
:
'
tababr
'
,
hasSetTabBarBadge
:
false
,
hasShownTabBarRedDot
:
false
,
hasCustomedStyle
:
false
,
hasCustomedItem
:
false
,
hasHiddenTabBar
:
false
}
},
destroyed
()
{
if
(
this
.
hasSetTabBarBadge
)
{
uni
.
removeTabBarBadge
({
index
:
1
})
}
if
(
this
.
hasShownTabBarRedDot
)
{
uni
.
hideTabBarRedDot
({
index
:
1
})
}
if
(
this
.
hasHiddenTabBar
)
{
uni
.
showTabBar
()
}
if
(
this
.
hasCustomedStyle
)
{
uni
.
setTabBarStyle
({
color
:
'
#7A7E83
'
,
selectedColor
:
'
#007AFF
'
,
backgroundColor
:
'
#F8F8F8
'
,
borderStyle
:
'
black
'
})
}
if
(
this
.
hasCustomedItem
)
{
let
tabBarOptions
=
{
index
:
1
,
text
:
'
接口
'
,
iconPath
:
'
/static/api.png
'
,
selectedIconPath
:
'
/static/apiHL.png
'
}
uni
.
setTabBarItem
(
tabBarOptions
)
}
},
methods
:
{
navigateBack
()
{
this
.
$emit
(
'
unmount
'
)
},
setTabBarBadge
()
{
if
(
this
.
hasShownTabBarRedDot
){
uni
.
hideTabBarRedDot
({
index
:
1
})
this
.
hasShownTabBarRedDot
=
!
this
.
hasShownTabBarRedDot
}
if
(
!
this
.
hasSetTabBarBadge
)
{
uni
.
setTabBarBadge
({
index
:
1
,
text
:
'
1
'
})
}
else
{
uni
.
removeTabBarBadge
({
index
:
1
})
}
this
.
hasSetTabBarBadge
=
!
this
.
hasSetTabBarBadge
},
showTabBarRedDot
()
{
if
(
this
.
hasSetTabBarBadge
)
{
uni
.
removeTabBarBadge
({
index
:
1
})
this
.
hasSetTabBarBadge
=
!
this
.
hasSetTabBarBadge
}
if
(
!
this
.
hasShownTabBarRedDot
)
{
uni
.
showTabBarRedDot
({
index
:
1
})
}
else
{
uni
.
hideTabBarRedDot
({
index
:
1
})
}
this
.
hasShownTabBarRedDot
=
!
this
.
hasShownTabBarRedDot
},
hideTabBar
()
{
if
(
!
this
.
hasHiddenTabBar
)
{
uni
.
hideTabBar
()
}
else
{
uni
.
showTabBar
()
}
this
.
hasHiddenTabBar
=
!
this
.
hasHiddenTabBar
},
customStyle
()
{
if
(
this
.
hasCustomedStyle
)
{
uni
.
setTabBarStyle
({
color
:
'
#7A7E83
'
,
selectedColor
:
'
#007AFF
'
,
backgroundColor
:
'
#F8F8F8
'
,
borderStyle
:
'
black
'
})
}
else
{
uni
.
setTabBarStyle
({
color
:
'
#FFF
'
,
selectedColor
:
'
#007AFF
'
,
backgroundColor
:
'
#000000
'
,
borderStyle
:
'
black
'
})
}
this
.
hasCustomedStyle
=
!
this
.
hasCustomedStyle
},
customItem
()
{
let
tabBarOptions
=
{
index
:
1
,
text
:
'
接口
'
,
iconPath
:
'
/static/api.png
'
,
selectedIconPath
:
'
/static/apiHL.png
'
}
as
SetTabBarItemOptions
if
(
this
.
hasCustomedItem
)
{
uni
.
setTabBarItem
(
tabBarOptions
)
}
else
{
tabBarOptions
.
text
=
'
API
'
uni
.
setTabBarItem
(
tabBarOptions
)
}
this
.
hasCustomedItem
=
!
this
.
hasCustomedItem
}
}
}
</
script
>
<
style
>
.button
{
margin-top
:
30
rpx
;
margin-left
:
0
;
margin-right
:
0
;
}
.btn-area
{
padding-top
:
30
rpx
;
}
</
style
>
pages/tabBar/API.uvue
浏览文件 @
68ca0ce1
<template>
<!-- #ifdef APP -->
<scroll-view style="flex: 1">
<!-- #endif -->
<!-- #endif -->
<view class="uni-container">
<view class="uni-header-logo">
<image class="uni-header-image" src="/static/apiIndex.png"></image>
...
...
@@ -23,9 +23,14 @@
</uni-collapse>
</view>
<!-- #ifdef APP -->
<!-- #ifdef APP -->
</scroll-view>
<!-- #endif -->
<!-- #endif -->
<view ref="pop" @click="hidePop()" style="width: 100%; height: 100%; position: absolute;align-items: center;justify-content: center; display: none;background-color: rgba(16, 16, 16, 0.5);">
<view style="width: 90%;background-color: white;" @click="stopClickPop">
<api-set-tabbar></api-set-tabbar>
</view>
</view>
</template>
<script lang="uts">
...
...
@@ -95,12 +100,10 @@
{
name: '设置TabBar',
url: 'set-tabbar',
enable: false,
},
{
name: '页面下拉刷新',
url: 'pull-down-refresh',
enable: true,
},
{
name: '将页面滚动到指定位置',
...
...
@@ -480,13 +483,26 @@
icon: 'none',
})
return
}
}
if (e.url === 'set-tabbar') {
this.showPop()
return;
}
const url =
e.url.indexOf('platform') > -1 ? e.url : `/pages/API/${e.url}/${e.url}`
uni.navigateTo({
url,
})
},
},
showPop: function () {
(this.$refs["pop"] as INode).style.setProperty("display","flex")
},
hidePop: function () {
(this.$refs["pop"] as INode).style.setProperty("display","none")
},
stopClickPop: function (e:MouseEvent) {
e.stopPropagation() //点击到pop的非灰色区域,拦截点击事件
}
},
}
</script>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录