bigfix
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
// 自定义 tabBar 实例获取:只有 tab 页自身才有 getTabBar(),
|
||||
// 通知页等非 tab 页调用会拿到 undefined,需从页面栈中查找仍在栈内的 tab 页。
|
||||
|
||||
export function getTabBarInstance(): any {
|
||||
const pages = typeof getCurrentPages === 'function' ? getCurrentPages() : []
|
||||
for (let i = pages.length - 1; i >= 0; i--) {
|
||||
const page = pages[i] as any
|
||||
const tabBar = page && page.getTabBar && page.getTabBar()
|
||||
if (tabBar) return tabBar
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
// 同步未读红点:优先让 tabBar 重新拉取真实数量,取不到实例时静默跳过
|
||||
export function syncTabBarUnread(force = true): void {
|
||||
const tabBar = getTabBarInstance()
|
||||
if (tabBar && typeof tabBar.syncUnread === 'function') tabBar.syncUnread(force)
|
||||
}
|
||||
Reference in New Issue
Block a user