面包屑 (Breadcrumb)
大约 2 分钟
面包屑 (Breadcrumb)
面包屑导航功能允许用户在应用中跟踪其导航路径。默认使用 BreadcrumbWidget
作为该功能的基类。
参数
router
: 非响应式变量,表示应用的路由对象。matched
: 非响应式变量,表示当前路由匹配的信息。moduleName
: 响应式变量,表示当前模块名称。menuNodes
: 响应式变量,表示当前模块的菜单节点树状结构,默认为空数组。currentViewTitle
: 响应式变量,表示当前视图的标题。items
: 响应式变量,表示当前选中菜单的平铺结构(父到子),默认为空数组。enabledHomepage
: 响应式变量,表示是否开启首页,默认为true
。
方法
executeAction()
- 类型: 响应式方法
- 描述: 执行视图动作。
- 入参:
action
(RuntimeViewAction): 当前需要执行的视图动作。
@Widget.Method()
public executeAction(action: RuntimeViewAction) {}
onHomepage()
- 类型: 响应式方法
- 描述: 跳转到首页。
@Widget.Method()
public async onHomepage() {}
onModuleChange()
- 类型: 非响应式方法
- 描述: 模块发生改变时调用,重新获取模块名和菜单节点数树。
- 入参:
moduleName
(string): 模块名称。
protected async onModuleChange(moduleName: string) {}
fetchMenuNodes()
- 类型: 非响应式方法
- 描述: 根据模块名称获取菜单节点树状结构。
- 入参:
moduleName
(string): 模块名称。
- 返回值:
Promise<TreeNode<RuntimeMenu>[]>
: 菜单节点树状结构。
protected async fetchMenuNodes(moduleName: string): Promise<TreeNode<RuntimeMenu>[]> {}
refreshItems()
- 类型: 非响应式方法
- 描述: 刷新当前面包屑导航项。
- 入参:
model
(string): 当前模型。action
(string): 当前视图动作。parameters
(MenuUrlParameters | undefined): 当前菜单的参数。
protected async refreshItems(model: string, action: string, parameters: MenuUrlParameters | undefined): Promise<void> {}
refreshViewTitle()
- 类型: 非响应式方法
- 描述: 刷新当前视图标题。
- 入参:
model
(string): 当前模型。action
(string): 当前视图操作。
protected async refreshViewTitle(model: string, action: string): Promise<void> {}
reloadMaskProcess()
- 类型: 非响应式方法
- 描述: 重新加载面包屑导航信息,刷新模块、当前面包屑导航项、当前试图标题。
- 入参:
reloadParameters
(ReloadMaskCallChainingParameters): 重新加载mask
的参数。
protected async reloadMaskProcess(reloadParameters: ReloadMaskCallChainingParameters) {}
如何替换
import { BreadcrumbWidget, SPI, MaskWidget } from "@kunlun/dependencies";
@SPI.ClassFactory(MaskWidget.Token({ dslNodeType: "breadcrumb" }))
export class CustomBreadcrumb extends BreadcrumbWidget {}