Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
102c64bf
U
uni-app
项目概览
genary
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
102c64bf
编写于
11月 11, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: __isTabBar
上级
0a387b8e
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
20 addition
and
20 deletion
+20
-20
packages/shims-vue-runtime.d.ts
packages/shims-vue-runtime.d.ts
+1
-1
packages/uni-app-plus/dist/uni-app-service.es.js
packages/uni-app-plus/dist/uni-app-service.es.js
+5
-5
packages/uni-app-plus/src/service/api/route/switchTab.ts
packages/uni-app-plus/src/service/api/route/switchTab.ts
+3
-3
packages/uni-app-plus/src/service/framework/page/getCurrentPages.ts
...ni-app-plus/src/service/framework/page/getCurrentPages.ts
+1
-1
packages/uni-core/src/service/init/index.ts
packages/uni-core/src/service/init/index.ts
+1
-1
packages/uni-h5/dist/uni-h5.cjs.js
packages/uni-h5/dist/uni-h5.cjs.js
+2
-2
packages/uni-h5/dist/uni-h5.es.js
packages/uni-h5/dist/uni-h5.es.js
+4
-4
packages/uni-h5/src/framework/setup/page.ts
packages/uni-h5/src/framework/setup/page.ts
+1
-1
packages/uni-h5/src/service/api/route/switchTab.ts
packages/uni-h5/src/service/api/route/switchTab.ts
+2
-2
未找到文件。
packages/shims-vue-runtime.d.ts
浏览文件 @
102c64bf
...
...
@@ -12,7 +12,6 @@ declare module '@vue/runtime-core' {
$page
:
Page
.
PageInstance
[
'
$page
'
]
$mpType
?:
'
app
'
|
'
page
'
$locale
?:
string
__isTabBar
:
boolean
}
type
LifecycleHook
=
Function
[]
|
null
...
...
@@ -24,6 +23,7 @@ declare module '@vue/runtime-core' {
__isUnload
:
boolean
__isVisible
:
boolean
__isActive
?:
boolean
// tabBar
__isTabBar
?:
boolean
// h5 | app
$wxsModules
?:
string
[]
}
...
...
packages/uni-app-plus/dist/uni-app-service.es.js
浏览文件 @
102c64bf
...
...
@@ -2285,7 +2285,7 @@ var serviceContext = (function (vue) {
pageVm.$page = page;
pageVm.$mpType = 'page';
if (page.meta.isTabBar) {
pageVm.__isTabBar = true;
pageVm.
$.
__isTabBar = true;
// TODO preload? 初始化时,状态肯定是激活
pageVm.$.__isActive = true;
}
...
...
@@ -10394,7 +10394,7 @@ var serviceContext = (function (vue) {
function getCurrentPages$1() {
const curPages = [];
pages.forEach((page) => {
if (page.__isTabBar) {
if (page.
$.
__isTabBar) {
if (page.$.__isActive) {
curPages.push(page);
}
...
...
@@ -11834,14 +11834,14 @@ var serviceContext = (function (vue) {
if (len >= 1) {
// 前一个页面是非 tabBar 页面
currentPage = pages[len - 1];
if (currentPage && !currentPage.__isTabBar) {
if (currentPage && !currentPage.
$.
__isTabBar) {
// 前一个页面为非 tabBar 页面时,目标tabBar需要强制触发onShow
// 该情况下目标页tabBarPage的visible是不对的
// 除非每次路由跳转都处理一遍tabBarPage的visible,目前仅switchTab会处理
// 简单起见,暂时直接判断该情况,执行onShow
callOnShow = true;
pages.reverse().forEach((page) => {
if (!page.__isTabBar && page !== currentPage) {
if (!page.
$.
__isTabBar && page !== currentPage) {
closePage(page, 'none');
}
});
...
...
@@ -11872,7 +11872,7 @@ var serviceContext = (function (vue) {
tabBarPage = page;
}
else {
if (page.__isTabBar) {
if (page.
$.
__isTabBar) {
page.$.__isActive = false;
}
}
...
...
packages/uni-app-plus/src/service/api/route/switchTab.ts
浏览文件 @
102c64bf
...
...
@@ -61,14 +61,14 @@ function _switchTab({
if
(
len
>=
1
)
{
// 前一个页面是非 tabBar 页面
currentPage
=
pages
[
len
-
1
]
!
as
ComponentPublicInstance
if
(
currentPage
&&
!
currentPage
.
__isTabBar
)
{
if
(
currentPage
&&
!
currentPage
.
$
.
__isTabBar
)
{
// 前一个页面为非 tabBar 页面时,目标tabBar需要强制触发onShow
// 该情况下目标页tabBarPage的visible是不对的
// 除非每次路由跳转都处理一遍tabBarPage的visible,目前仅switchTab会处理
// 简单起见,暂时直接判断该情况,执行onShow
callOnShow
=
true
pages
.
reverse
().
forEach
((
page
)
=>
{
if
(
!
page
.
__isTabBar
&&
page
!==
currentPage
)
{
if
(
!
page
.
$
.
__isTabBar
&&
page
!==
currentPage
)
{
closePage
(
page
,
'
none
'
)
}
})
...
...
@@ -97,7 +97,7 @@ function _switchTab({
page
.
$
.
__isActive
=
true
tabBarPage
=
page
}
else
{
if
(
page
.
__isTabBar
)
{
if
(
page
.
$
.
__isTabBar
)
{
page
.
$
.
__isActive
=
false
}
}
...
...
packages/uni-app-plus/src/service/framework/page/getCurrentPages.ts
浏览文件 @
102c64bf
...
...
@@ -20,7 +20,7 @@ export function getAllPages() {
export
function
getCurrentPages
()
{
const
curPages
:
ComponentPublicInstance
[]
=
[]
pages
.
forEach
((
page
)
=>
{
if
(
page
.
__isTabBar
)
{
if
(
page
.
$
.
__isTabBar
)
{
if
(
page
.
$
.
__isActive
)
{
curPages
.
push
(
page
)
}
...
...
packages/uni-core/src/service/init/index.ts
浏览文件 @
102c64bf
...
...
@@ -41,7 +41,7 @@ export function initPageVm(
pageVm
.
$page
=
page
pageVm
.
$mpType
=
'
page
'
if
(
page
.
meta
.
isTabBar
)
{
pageVm
.
__isTabBar
=
true
pageVm
.
$
.
__isTabBar
=
true
// TODO preload? 初始化时,状态肯定是激活
pageVm
.
$
.
__isActive
=
true
}
...
...
packages/uni-h5/dist/uni-h5.cjs.js
浏览文件 @
102c64bf
...
...
@@ -479,7 +479,7 @@ function initPageVm(pageVm, page) {
pageVm
.
$page
=
page
;
pageVm
.
$mpType
=
"
page
"
;
if
(
page
.
meta
.
isTabBar
)
{
pageVm
.
__isTabBar
=
true
;
pageVm
.
$
.
__isTabBar
=
true
;
pageVm
.
$
.
__isActive
=
true
;
}
}
...
...
@@ -6741,7 +6741,7 @@ function getCurrentPages$1() {
const
curPages
=
[];
const
pages
=
currentPagesMap
.
values
();
for
(
const
page
of
pages
)
{
if
(
page
.
__isTabBar
)
{
if
(
page
.
$
.
__isTabBar
)
{
if
(
page
.
$
.
__isActive
)
{
curPages
.
push
(
page
);
}
...
...
packages/uni-h5/dist/uni-h5.es.js
浏览文件 @
102c64bf
...
...
@@ -1449,7 +1449,7 @@ function initPageVm(pageVm, page) {
pageVm.$page = page;
pageVm.$mpType = "page";
if (page.meta.isTabBar) {
pageVm.__isTabBar = true;
pageVm.
$.
__isTabBar = true;
pageVm.$.__isActive = true;
}
}
...
...
@@ -13640,7 +13640,7 @@ function getCurrentPages$1() {
const curPages = [];
const pages = currentPagesMap.values();
for (const page of pages) {
if (page.__isTabBar) {
if (page.
$.
__isTabBar) {
if (page.$.__isActive) {
curPages.push(page);
}
...
...
@@ -18215,13 +18215,13 @@ function removeNonTabBarPages() {
const keys = pagesMap.keys();
for (const routeKey of keys) {
const page = pagesMap.get(routeKey);
if (!page.__isTabBar) {
if (!page.
$.
__isTabBar) {
removePage(routeKey);
} else {
page.$.__isActive = false;
}
}
if (curTabBarPageVm.__isTabBar) {
if (curTabBarPageVm.
$.
__isTabBar) {
curTabBarPageVm.$.__isVisible = false;
invokeHook(curTabBarPageVm, ON_HIDE);
}
...
...
packages/uni-h5/src/framework/setup/page.ts
浏览文件 @
102c64bf
...
...
@@ -46,7 +46,7 @@ export function getCurrentPages() {
const
curPages
:
ComponentPublicInstance
[]
=
[]
const
pages
=
currentPagesMap
.
values
()
for
(
const
page
of
pages
)
{
if
(
page
.
__isTabBar
)
{
if
(
page
.
$
.
__isTabBar
)
{
if
(
page
.
$
.
__isActive
)
{
curPages
.
push
(
page
)
}
...
...
packages/uni-h5/src/service/api/route/switchTab.ts
浏览文件 @
102c64bf
...
...
@@ -20,13 +20,13 @@ function removeNonTabBarPages() {
const
keys
=
pagesMap
.
keys
()
for
(
const
routeKey
of
keys
)
{
const
page
=
pagesMap
.
get
(
routeKey
)
as
ComponentPublicInstance
if
(
!
page
.
__isTabBar
)
{
if
(
!
page
.
$
.
__isTabBar
)
{
removePage
(
routeKey
)
}
else
{
page
.
$
.
__isActive
=
false
}
}
if
(
curTabBarPageVm
.
__isTabBar
)
{
if
(
curTabBarPageVm
.
$
.
__isTabBar
)
{
curTabBarPageVm
.
$
.
__isVisible
=
false
invokeHook
(
curTabBarPageVm
,
ON_HIDE
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录