diff --git a/package.json b/package.json index 34b8593873c332071023147d68aff0961ffae33d..c503ec684a7355fded234e2dcf64699129ad0c15 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@babel/preset-env": "^7.16.11", - "@dcloudio/types": "^2.5.18", + "@dcloudio/types": "^2.5.19", "@dcloudio/uni-api": "3.0.0-alpha-3040320220325006", "@dcloudio/uni-app": "3.0.0-alpha-3040320220325006", "@jest/types": "^27.0.2", diff --git a/packages/uni-app-plus/src/service/api/ui/tabBar.ts b/packages/uni-app-plus/src/service/api/ui/tabBar.ts index bc966928ddcc701797ae8ff0ba52a6aec64d6c6a..6410aaab8a1600ae7f28ed80c805068d60e2aa78 100644 --- a/packages/uni-app-plus/src/service/api/ui/tabBar.ts +++ b/packages/uni-app-plus/src/service/api/ui/tabBar.ts @@ -47,10 +47,17 @@ export const setTabBarBadge = defineAsyncApi( export const setTabBarItem = defineAsyncApi( API_SET_TAB_BAR_ITEM, ( - { index, text, iconPath, selectedIconPath, pagePath, visible }, + { index, text, iconPath, selectedIconPath, pagePath, visible, iconfont }, { resolve, reject } ) => { - tabBar.setTabBarItem(index, text, iconPath, selectedIconPath, visible) + tabBar.setTabBarItem( + index, + text, + iconPath, + selectedIconPath, + visible, + iconfont + ) const route = pagePath && __uniRoutes.find(({ path }) => path === pagePath) if (route) { const meta = route.meta diff --git a/packages/uni-app-plus/src/service/framework/app/tabBar.ts b/packages/uni-app-plus/src/service/framework/app/tabBar.ts index 69681fe0e59d4efa39fe56f5ed779989452a92d6..6da6419b5c94a5593992ea0c79c81711ad22303a 100644 --- a/packages/uni-app-plus/src/service/framework/app/tabBar.ts +++ b/packages/uni-app-plus/src/service/framework/app/tabBar.ts @@ -58,9 +58,13 @@ function setTabBarItem( text?: string, iconPath?: string, selectedIconPath?: string, - visible?: boolean + visible?: boolean, + iconfont?: UniApp.SetTabBarItemIconFontOptions ) { - type TabBarItem = Record + type TabBarItem = Record< + string, + string | number | boolean | undefined | UniApp.SetTabBarItemIconFontOptions + > const item: TabBarItem = { index, } @@ -73,6 +77,9 @@ function setTabBarItem( if (selectedIconPath) { item.selectedIconPath = getRealPath(selectedIconPath) } + if (iconfont !== undefined) { + item.iconfont = iconfont + } if (visible !== undefined) { item.visible = config.list[index].visible = visible delete item.index