首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在标题中显示当前目标名称的导航抽屉

基础概念

导航抽屉(Navigation Drawer)是一种常见的用户界面组件,通常用于移动应用和桌面应用中,用于展示应用的导航菜单。它通常位于屏幕的左侧或右侧,可以通过滑动或点击图标来打开。

相关优势

  1. 空间利用:导航抽屉可以在不占用屏幕主要空间的情况下提供导航选项。
  2. 一致性:在多个页面间保持一致的导航体验。
  3. 可访问性:用户可以轻松访问所有主要功能,而不需要在每个页面上寻找导航选项。

类型

  1. 侧滑抽屉:用户可以通过从屏幕边缘向内滑动来打开。
  2. 下拉抽屉:用户可以通过点击一个按钮来展开抽屉。
  3. 模态抽屉:抽屉以模态形式弹出,通常用于重要或临时操作。

应用场景

  • 移动应用:如社交媒体、新闻应用等。
  • 桌面应用:如办公软件、设计工具等。

实现方法

以下是一个使用React和Material-UI实现导航抽屉并在标题中显示当前目标名称的示例代码:

代码语言:txt
复制
import React, { useState } from 'react';
import { Drawer, List, ListItem, ListItemText, Typography, AppBar, Toolbar, IconButton } from '@material-ui/core';
import { Menu as MenuIcon } from '@material-ui/icons';

const drawerWidth = 240;

function App() {
  const [open, setOpen] = useState(false);
  const [currentTab, setCurrentTab] = useState('Home');

  const handleDrawerOpen = () => {
    setOpen(true);
  };

  const handleDrawerClose = () => {
    setOpen(false);
  };

  const handleTabChange = (tab) => {
    setCurrentTab(tab);
  };

  return (
    <div>
      <AppBar position="static">
        <Toolbar>
          <IconButton edge="start" color="inherit" aria-label="menu" onClick={handleDrawerOpen}>
            <MenuIcon />
          </IconButton>
          <Typography variant="h6" style={{ flexGrow: 1 }}>
            {currentTab}
          </Typography>
        </Toolbar>
      </AppBar>
      <Drawer
        variant="persistent"
        anchor="left"
        open={open}
        onClose={handleDrawerClose}
        classes={{
          paper: 'drawer-paper',
        }}
      >
        <List>
          {['Home', 'Profile', 'Settings'].map((text) => (
            <ListItem button key={text} onClick={() => handleTabChange(text)}>
              <ListItemText primary={text} />
            </ListItem>
          ))}
        </List>
      </Drawer>
      <main style={{ marginLeft: drawerWidth, padding: 24 }}>
        {/* Content for the current tab */}
        <Typography paragraph>
          Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        </Typography>
      </main>
    </div>
  );
}

export default App;

参考链接

常见问题及解决方法

  1. 抽屉无法打开或关闭
    • 确保open状态正确更新。
    • 检查事件处理函数是否正确绑定。
  • 标题不更新
    • 确保currentTab状态在点击导航项时正确更新。
    • 检查handleTabChange函数是否正确调用。
  • 样式问题
    • 确保CSS类名正确应用。
    • 使用浏览器的开发者工具检查元素样式。

通过以上方法,你可以实现一个带有当前目标名称的导航抽屉,并解决常见的实现问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AngularDart Material Design 应用布局 顶

shadow 材质标题上修饰符可以将阴影应用于标题。 dense-header 使主要使用鼠标和键盘界面的应用栏更加密集。 material-header-row 标题中一行。...material-spacer 占用标题和任何导航链接之间空间。 需要在标题之后和任何导航元素之前放置。 material-navigation 导航元素将显示头部左侧。...临时抽屉具有可选overlay属性,可用于抽屉打开时抽屉内容上方显示透明覆盖。...-- Content goes here --> 另一侧显示抽屉 所有抽屉都有一个HTML属性end,它将抽屉定位在页面的另一侧,正常(LTR右侧,RTL左侧...-- Content here --> 导航样式 抽屉导航元素样式也由app_layout提供。

4K30

App之底部导航设计

先来看看app常用导航模式有哪些:列表式、网格式、标签导航抽屉导航等。...如领英设置页面 网格式与列表式类似,但排布更紧凑,显示也更直观,可在一页容纳更多选项,常见于一级页面,电商类app一级页面用比较多,如淘宝首页 标签式有顶部、底部两大类,底部应用最广泛,因为底部比较方便大拇指点击...那么,有没有一种方式应用在一级页面,可以集合这些优点: 列表式结构清晰明了, 网格式紧凑、直观, 标签式底部导航便利拇指操作, 抽屉式容纳更多选项,简洁界面。...这里把抽屉汉堡包按钮,变成了“更多",我们可以把一些不常用功能全部收纳到这里。 3、然后其中居中一个按钮可以展开更多选项,把底部导航栏变成网格式或者列表式导航模式。...“发现”功能项是电商、娱乐影音类app用比较多功能。 “消息”是社交类app标配。 角提醒,用小红点或者带数字小红点。

4.9K110
  • 『React Navigation 3x系列教程』createDrawerNavigator开发指南

    createDrawerNavigator API createDrawerNavigator(RouteConfigs, DrawerNavigatorConfig): RouteConfigs(必选):路由配置对象是从路由名称到路由配置映射...’,默认是’left’; contentComponent: 用于呈现抽屉导航器内容组件,例如导航项。...接收抽屉导航 navigation 属性 。默认为DrawerItems。...有关详细信息,请参阅下文; contentOptions: 配置抽屉导航器内容,见下文; useNativeAnimations: 是否启用Native动画,默认启用; drawerBackgroundColor...在上述代码中使用了react-native-vector-icons矢量图标作为Tab显示图标,drawerIcon接收一个React 组件,大家可以根据需要进行定制: tintColor: 当前状态下

    7.1K10

    react-navigation,刷新你导航一、属性介绍二、案例

    (2)TabNavigator:类似底部导航栏,用来同一屏幕下切换不同界面 (3)DrawerNavigator:侧滑菜单导航栏,用于轻松设置带抽屉导航屏幕 ?...:和导航功能一样,对应界面名称,可以气头页面通过这个screen传值和跳转 navigationOptions:配置TabNavigator一些属性 title:标题,会同时设置导航条和标签栏title...iOS默认底部,安卓默认顶部 swipeEnabled:是否允许标签之间进行滑动 animationEnabled:是否更改标签时显示动画 lazy:是否app打开时候将底部标签栏全部加载...默认为左侧位置 contentComponent - 用于呈现抽屉内容组件,例如导航项。 接收抽屉导航。...定义抽屉导航 HomeScreen与MineScree是导入外界两个界面,将它们定义到DrawerNavigator中。抽屉导航中,将组件属性也一起设置好。

    19.7K90

    Material Design — 底部导航(Bottom Navigation)

    点击底部导航图标可以:1、直接将你带到相关页面;2、刷新当前页面。 底部导航主要用于移动端,为了pc端实现类似效果,可以使用侧边导航。...底部导航应该用于: 3-5个重要性相同一级页面,且需要从app 中任何地方直接访问目的地 (超过6个:app中一直存在持久抽屉导航persisitent navigation drawer) (不满...---- 行为(这部分动图去MD网站看吧...) 底部导航栏可以从一个主题中n级页面移动到另一个主题一级页面。当用户去往下级页面时要保持底部导航可用,可通过持续展示,或者通过滚动隐藏和显示。...底部导航栏不应用于: ·专注于单一任务观点,如电子邮件“撰写”页面。 ·包含用户首选项或设置页面 Android上,后退按钮不在底部导航栏视图之间导航。...底部导航icon 点击底部导航icon将直接带你到相关页面,或刷新当前页面。每个icon必须指向目的地,并且不能打开菜单或对话框。

    4.1K90

    模态对话框-B 类产品设计细节:对话框 vs 抽屉

    说明:对话框和抽屉都是在当前页面之上覆盖出现组件,让用户不离开主路径情况下,查看信息/提示/反馈,或快速执行某些操作。两者交互模式有类似之处,使用场景也有所重叠。...抽屉模态 vs 非模态   项目管理工具 Jira 帮助文档入口页面右侧,点开后从右侧划入非模态抽屉展示内容,这样便于用户进行对照查看和操作:   搜索功能入口页面左侧中导航中,点开后从左侧划入模态抽屉进行交互...模态抽屉 vs 非模态对话框   上一案例来自之前 Jira,当前版本 Jira 对导航和交互模式进行了调整,例如通知模块由模态抽屉改为了非模态对话框,出现位置均遵循就近原则,体验上非模态对话框更加轻量...原来由左侧划入模态抽屉,点击左侧导航后从左侧划入:   当前版本使用非模态对话框模态对话框,点击顶部导航 icon 下方出现:   4....模态抽屉 vs 气泡卡片   文档工具 中,产品功能和交互都很简洁轻量,没有出现对话框组件,文档中插入图片或文件、编辑导航、导入文档等稍重操作使用抽屉,而插入表情、标签等位置指向明确、操作很轻使用气泡卡片

    1.8K20

    安卓软件开发:使用Jetpack Compose实现DrawerMenuApp

    ,类型是 DrawerScreen,指示当前高亮显示菜单项。...ModalDrawerSheet (1) 场景:ModalDrawerSheet 是最常见 Drawer 类型,用于显示应用内容之上,当 Drawer 打开时,主界面会被覆盖,需要用户手动关闭或点击其他地方来收起抽屉...(2) 解释: • ModalDrawerSheet 是用于模态抽屉组件,它会覆盖住当前内容,用户必须关闭它才能回到主界面。...(3) 适用场景: • 比如一个购物应用中导航栏,当用户点击左上角菜单按钮时,抽屉滑出,显示购物车、收藏夹、账户信息等。 二....(2) 解释: • PermanentDrawerSheet 与前两种抽屉不同,它是固定在界面左侧,用户无法将它关闭。它适合那些需要一直显示导航场景,比如电子邮件客户端或者文件管理器。

    42950

    Anroid Wear OS 手表应用开发 - UI

    ,圆形布局内容,不会超过显示边界: 导航抽屉栏 为了节省宝贵显示空间,通常手表应用是没有标题栏使用 ViewPager 时候,也没有 TabLayout 显示,但因此我们无法很好的确认当前页面...导航栏 WearableNavigationDrawerView 就是用来解决这个问题,我们先看看它效果: 从手表顶部向下滑,会出现一个导航栏,显示当前页面的图标和标题。...操作抽屉栏 当需要对当前页面进行一些操作时候,但页面里又没有空间再放按钮了怎么办?既然可以从顶部下拉出导航栏,要不在底部上拉出一个操作栏?...,controller.peekDrawer() 会在底部露出一小部分操作栏,如果当前页面是一个列表,这一部分会在列表滑动时隐藏,列表到顶部和底部时显示: 露出部分默认会显示操作栏第一项图标,可以布局中添加...自定义抽屉导航栏 WearableNavigationDrawerView 和 操作栏 WearableActionDrawerView 用起来很简单,但是它们样式是固定,一个只能显示图标加标题

    2.5K30

    Yoink for macv激活版 临时文件拖放暂存工具

    Yoink for mac是Mac os平台上一款帮助用户更好管理屏幕上文件Mac文件管理软件,Yoink for mac就是抽屉平时并不会显示出来,只有当你拖放文件,或者抽屉里已经有临时保存文件之后...,才会显示,使用起来非常方便简洁。...临时文件拖放暂存工具图片Yoink for ma特点Yoink是您文件“架子”移动或复制文件可能很麻烦您必须按住鼠标按钮进行拖动,同时尝试导航到文件目标位置。为什么不让Yoink为你保存这些文件?...步骤1拖动您要移动或复制到Yoink文件步骤2鼠标空闲情况下,更轻松快速地导航到文件目标位置步骤3将文件从Yoink拖到他们应该去地方丢掉一切。...用手指和鼠标释放,导航到文件目标位置。这是很容易通过这种方式来之间移动文件不同窗口,空间和(fullscreen-)应用程序。像Finder一样。

    66830

    Material Design — Navigation drawerStandard drawer Modal drawer Bottom drawer

    Navigation drawer ---- 用法 Navigation drawer 提供对目的地和 app 功能访问,如切换帐户。 它们可以永久屏幕上显示,也可以通过导航菜单图标进行控制。...导航抽屉表可以从屏幕左侧出现 (1),或者与 bottom app bar (2)同时使用时从屏幕底部打开。 范围小于62.5% ?...如果优先考虑进行帐户切换,则可以将帐户切换器放置导航抽屉 header 区域 ?...如果 navigation drawer 占了页面的整个垂直高度,则可以 header 区域放置品牌元素或产品名称 ?...当最初打开到屏幕高度50%时,显示其他项目之前,必须将 drawer 拖到屏幕高度。 滚动时,drawer 标题变成了一个高 top app bar,并具有很好可供性。 ?

    3.8K40

    9种最经典导航模式,APP开发必备

    2、顶部标签导航 顶部导航ios app中一般用作二级导航andriod app中这种导航模式一般用作一级导航,但自从谷歌推出”抽屉导航“以后,顶部标签导航一般就用作二级导航,当内容分类较多时候一般采用顶部标签导航设计模式...三、抽屉导航 有的人可能会说,我虽然有6-7个左右标签,但是只有一些标签是主要,其他标签用户很少使用,这个时候一般采用抽屉导航。...抽屉导航是指将一些不常用功能隐藏在当前页面,当需要用到时候点击入口或者侧滑即可像抽屉一样展开,上面也说了,这种适合不需要经常切换次要功能,比如设置、关于、会员等,快手和QQ是采用这种导航形式。...比如下图拍拍贷和美团。 ? 五、宫格导航 宫格导航主要将入口全部集中主页面中,各个入口之间相互独立,没有太多交集,无法跳转互通。 ?...缺点:隐藏了功能,且隐藏功能不能太多,不然显示后,用户较难反应。 九、轮播导航 app首页banner广告位就是采用轮播导航,当应用信息足够扁平时候则采用轮播导航。 ?

    3.8K90

    Flutter 可折叠边栏

    一个可在Flutter应用中创建可折叠侧边栏导航抽屉 Flutter 插件。...Flutter使开发人员可以轻松使用导航抽屉,而无需其他人就无需编写大部分代码。 本博客中,我们将探讨Flutter中 **可折叠侧边栏。...利用Material Design移动应用程序有两个必不可少导航选择。这些导航是“选项卡和抽屉”。抽屉是选项卡一种可选选择,因为有时移动应用程序没有足够空间来帮助选项卡。 抽屉是不可见侧屏。...它是一个向左滑动菜单,大多数情况下,它包含应用程序中重要连接,并且显示时拥有一半屏幕。 该演示视频展示了如何在Flutter中创建可折叠侧边栏。...它显示flutter应用程序中使用foldable_sidebar包可折叠侧边栏将如何工作。它显示了当用户点击浮动操作按钮时,抽屉将以折叠方式显示/隐藏。它会显示设备上。

    6.4K50

    Flutter 全栈式——页面框架

    用于指定当前App打开时显示页面 routes Map 路由表,定义页面跳转规则 initialRoute String 初始路由名称 onGenerateRoute...中 ActionBar body Widget 当前页面所显示主要内容 floatingActionButton Widget Material中所定义FAB,是一个悬浮功能按钮 floatingActionButtonLocation...persistentFooterButtons List 底部显示一组按钮 drawer Widget 开始部分(左边)抽屉菜单 endDrawer Widget 结束部分(右边...)抽屉菜单 drawerScrimColor Color 打开侧滑菜单时遮盖主要内容区蒙层颜色 backgroundColor Color 内容背景颜色。...默认为 ThemeData.scaffoldBackgroundColor bottomNavigationBar Widget 显示底部导航栏 bottomSheet Widget 底部永久性显示提示框

    2.9K30

    深入浅出 NavigationUI | MAD Skills

    本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉导航栏之类 UI 组件如何在应用中实现导航功能。...NavigationUI 类通过匹配目标页面 id 与菜单 id 实现不同页面之间导航功能。让我们深入探索一下它内部机制吧。...抽屉导航栏 虽然看上去不错,但是如果您设备屏幕尺寸较大,那么底部标签栏恐怕无法提供最佳用户体验。...setupWithNavController(navController) } 现在当我屏幕较宽设备上运行应用时,可以看到抽屉导航栏已经设置了 MenuItem,并且导航图中,MenuItem...△ 屏幕较宽设备上运行 Donut Tracker 请注意,当我切换页面的时候返回按钮会自动显示左上角。

    3K30

    Material Design — App bars: bottomApp bars: bottom

    当只有一个或没有操作(除floating action button)时,不使用bottom app bars ---- 组成 Bottom app bars 可以包含适用于当前屏幕上下文操作。...底部导航抽屉从底部应用栏打开。 抽屉底部应用程序栏前打开,并显示顶部应用程序栏以达到完整高度时关闭抽屉。...Drawer bottom app bar 前面打开,并显示 top app bar 以达到完整高度时关闭抽屉。...---- 位置 导航 Bottom app bar 可显示 navigation menu icon 以打开 bottom navigation drawer,但该 bar 本身不包含任何导航操作(例如向上导航至主屏幕或一个关闭图标...App 导航应放置另一个组件中,例如 top app bar 或嵌入屏幕中。 ?

    2.4K80

    Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航

    三、FloatingActionButton使用 ① 修改默认显示位置 四、App主页面构建 ① 密封类 ② 构建底部导航Item ③ 装载底部导航Item ④ 显示导航 五、源码 前言   在上篇文章中完成了页面的导航...exitTransition:退出当前页面的动画。 popEnterTransition:当前页面另一个页面弹出后重新出现动画。...① 导航传递URL参数   当前App中有两个页面,疫情新闻页面和风险区详情页面,那么我们需要再写一个WebView加载页面,可以让我们去加载Url。...① 修改默认显示位置 就两个参数,默认就是End。 当然了,上面说Scaffold,如果你要换一个地方显示呢?...,然后抽屉中增加疫情新闻入口。

    4.6K20

    Android Compose 新闻App(八)抽屉布局、动态权限、拍照返回

    ④ HomeViewModel 二、抽屉布局 ① 添加菜单 ② 打开抽屉 三、导航疫情页面 四、动态权限请求 ① 添加依赖 ② 权限请求 五、拍照显示图片 ① ActivityResult API ②...二、抽屉布局 这个抽屉布局通过主页面的左上角菜单点击进行打开,因此我们首先添加一个菜单按钮和一个疫情新闻按钮,HomePage中, ① 添加菜单 增加如下代码: navigationIcon...三、导航疫情页面   在前几篇文章中疫情页面已经安静很久了,我们不能忘记它了,所以我们主页面导航到疫情新闻页面。...) 添加位置如下图所示: 由于疫情新闻页面我并没有TopBar中写返回按钮,因此我们可以通过疫情新闻页面的浮动按钮点击返回到当前主页面, 代码如下: mNavController.popBackStack...,然后permissionNotGrantedContent 是权限未请求时显示内容,permissionNotAvailableContent 是权限不可用显示内容,这两个一些场景下会用到,下面我们看看

    2.2K20
    领券