For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /reference/sdk/sapi/runtime/classes/MenuNavigator.md.
  • 简体中文
  • Class: MenuNavigator

    Defined in: sapi/runtime/menu-navigator.ts:132

    多页 CustomForm 导航器:section 切换、历史栈与异步任务状态。

    Constructors

    Constructor

    new MenuNavigator(player: Player): MenuNavigator;

    Defined in: sapi/runtime/menu-navigator.ts:146

    Parameters

    ParameterType
    playerPlayer

    Returns

    MenuNavigator

    Methods

    stack()

    stack(): readonly string[];

    Defined in: sapi/runtime/menu-navigator.ts:154

    当前面包屑栈(从根到当前页)。

    Returns

    readonly string[]


    setOnBack()

    setOnBack(handler: () => void): this;

    Defined in: sapi/runtime/menu-navigator.ts:159

    back() 弹栈后回调,供声明式运行时同步 session。

    Parameters

    ParameterType
    handler() => void

    Returns

    this


    section()

    section(
       id: string, 
       title: string, 
       build: PageBuildFn): this;

    Defined in: sapi/runtime/menu-navigator.ts:165

    注册一个 section(id、标题与构建函数)。

    Parameters

    ParameterType
    idstring
    titlestring
    buildPageBuildFn

    Returns

    this


    start()

    start(sectionId: string): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:174

    从指定 section 打开菜单并重置历史栈。

    Parameters

    ParameterType
    sectionIdstring

    Returns

    Promise<void>


    rebuild()

    rebuild(targetSection?: string): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:182

    重建并显示表单;传入目标时前进压栈,已在栈中则回退面包屑。

    Parameters

    ParameterType
    targetSection?string

    Returns

    Promise<void>


    refresh()

    refresh(): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:193

    刷新当前页面(等价于无参 rebuild)。

    Returns

    Promise<void>


    replace()

    replace(targetSection: string): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:198

    替换历史栈顶 section 并重建表单。

    Parameters

    ParameterType
    targetSectionstring

    Returns

    Promise<void>


    runTask()

    runTask(
       status: FormStatus, 
       task: () => Promise<void>, 
       onError?: string): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:206

    在表单上显示异步任务状态;同时只允许一个任务运行。

    Parameters

    ParameterTypeDefault value
    statusFormStatusundefined
    task() => Promise<void>undefined
    onErrorstring"操作失败,请稍后重试。"

    Returns

    Promise<void>


    confirmMessage()

    confirmMessage(
       title: string, 
       body: string, 
       confirm?: string, 
       cancel?: string): Promise<boolean>;

    Defined in: sapi/runtime/menu-navigator.ts:222

    弹出 MessageBox 确认框;返回是否点击确认。

    Parameters

    ParameterTypeDefault value
    titlestringundefined
    bodystringundefined
    confirmstring"确认"
    cancelstring"取消"

    Returns

    Promise<boolean>


    confirmChallenge()

    confirmChallenge(
       title: string, 
       body: string, 
       challenge: string, 
       confirm?: string, 
       cancel?: string): Promise<boolean>;

    Defined in: sapi/runtime/menu-navigator.ts:248

    弹出带校验文本的确认表单:输入与 challenge 匹配前确认按钮禁用。 取消、关闭或超时返回 false(与 confirmMessage 一致)。

    Parameters

    ParameterTypeDefault value
    titlestringundefined
    bodystringundefined
    challengestringundefined
    confirmstring"确认"
    cancelstring"取消"

    Returns

    Promise<boolean>


    go()

    go(sectionId: string): void;

    Defined in: sapi/runtime/menu-navigator.ts:295

    压栈并切换到指定 section(不立即重建,需随后调用 rebuild)。

    Parameters

    ParameterType
    sectionIdstring

    Returns

    void


    back()

    back(notify?: boolean): void;

    Defined in: sapi/runtime/menu-navigator.ts:301

    返回上一级 section。notify=false 时不触发 onBack,避免声明式返回重复 rebuild。

    Parameters

    ParameterTypeDefault value
    notifybooleantrue

    Returns

    void


    leave()

    leave(target: () => void): void;

    Defined in: sapi/runtime/menu-navigator.ts:310

    关闭当前表单并执行回调(如退出菜单流程)。

    Parameters

    ParameterType
    target() => void

    Returns

    void


    confirm()

    confirm(
       title: string, 
       body: string, 
       onConfirm?: () => void, 
       afterConfirm?: () => void, 
       onCancel?: () => void): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:317

    在当前表单内嵌确认页(确认/取消按钮)。

    Parameters

    ParameterType
    titlestring
    bodystring
    onConfirm?() => void
    afterConfirm?() => void
    onCancel?() => void

    Returns

    Promise<void>


    message()

    message(title: string, body: string): Promise<void>;

    Defined in: sapi/runtime/menu-navigator.ts:339

    弹出 MessageBox 提示;若之前有表单打开且点确定则 rebuild 返回。

    Parameters

    ParameterType
    titlestring
    bodystring

    Returns

    Promise<void>

    Properties

    PropertyTypeDefault valueDescriptionDefined in
    stateRecord<string, any>{}跨页面共享的状态对象。sapi/runtime/menu-navigator.ts:140