You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何点击特定选项后隐藏Docusaurus导航栏中的下拉菜单

实现Docusaurus导航栏下拉菜单的条件隐藏

可以实现点击Metallic选项后隐藏导航栏中的下拉菜单,核心思路是通过路由或侧边栏状态检测动态控制组件渲染,具体步骤如下:

步骤1:创建自定义下拉菜单组件

在项目的src/theme/NavbarItem/目录下新建DropdownNavbarItem.js文件(目录不存在则手动创建),编写自定义组件替换默认的下拉菜单:

import React from 'react';
import { useLocation } from '@docusaurus/router';
import DropdownNavbarItem from '@theme-original/NavbarItem/DropdownNavbarItem';

export default function CustomDropdownNavbarItem(props) {
  const location = useLocation();
  // 匹配Metallic侧边栏页面的路由,根据实际文档路径调整规则
  const isMetallicPage = location.pathname.includes('/metallic/');

  // 若当前是Metallic页面,不渲染下拉菜单
  if (isMetallicPage) {
    return null;
  }

  // 其他页面正常渲染原下拉菜单
  return <DropdownNavbarItem {...props} />;
}

步骤2:适配侧边栏ID匹配规则

如果你的Metallic文档路由不包含/metallic/,可以直接通过侧边栏ID判断,修改组件代码为:

import React from 'react';
import { useDocsSidebar } from '@docusaurus/theme-common/internal';
import DropdownNavbarItem from '@theme-original/NavbarItem/DropdownNavbarItem';

export default function CustomDropdownNavbarItem(props) {
  const sidebar = useDocsSidebar();
  // 判断当前页面所属的侧边栏ID是否为Metallic
  const isMetallicPage = sidebar?.id === 'Metallic';

  if (isMetallicPage) {
    return null;
  }

  return <DropdownNavbarItem {...props} />;
}

步骤3:验证效果

启动Docusaurus开发服务器,点击下拉菜单中的Metallic选项,导航栏中的"Commcell Type"下拉菜单会自动隐藏;切换回OnPrem页面时,下拉菜单会重新显示。

内容的提问来源于stack exchange,提问作者Jnanesh danappa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 05:55:32