/** * useActiveKey Hook 参数 */ interface UseActiveKeyProps { /** 初始激活的 key 数组(对应多层级) */ initialActiveKey?: (string | number)[]; /** key 变化回调 */ onChange?: (value: (string | number)[]) => void; } /** * useActiveKey Hook 返回值 */ interface UseActiveKeyReturn { /** 当前激活的 key 数组 */ activeKey: (string | number)[]; /** 设置指定层级的激活 key */ setActiveKey: (level: number, key: string | number, cKey?: string | number) => void; /** 获取指定层级的激活 key */ getActiveKey: (level: number) => string | number; /** 内部设置方法(用于同步外部值) */ _setActiveKey: (value: (string | number)[]) => void; /** 设置缓存key */ setCacheActiveKey: (val: (string | number)[]) => void; /** 重置value为缓存key */ resetActiveKey: () => void; /** 获取缓存key */ getCacheActiveKey: () => (string | number)[]; } /** * Tabbar 激活状态管理 Hook * * 用于管理多层级 Tabbar 的激活状态,支持级联选择 * * @param props - Hook 配置参数 * @returns 激活状态和操作方法 * * @example * ```tsx * const { activeKey, setActiveKey, getActiveKey } = useActiveKey({ * initialActiveKey: [1, 10], * onChange: (value) => console.log('当前选中:', value) * }); * * // 设置第 0 层级的 key,并清除后续层级 * setActiveKey(0, '2'); * * // 设置第 0 层级的 key,并同时设置第 1 层级 * setActiveKey(0, '2', '20'); * * // 获取第 0 层级的 key * const level0Key = getActiveKey(0); * ``` */ declare const useActiveKey: (props: UseActiveKeyProps) => UseActiveKeyReturn; export default useActiveKey;