NavBar 导航栏

位于 app 内容区的上方,系统状态栏的下方,并且提供在一系列页面中的导航能力。

规则

  • 可在导航栏中显示当前视图的标题。如果标题非常冗长且无法精简,可以空缺。

  • 可在导航栏中使用 SegmentedControl 对内容进行层级划分。

  • 避免用过多的元素填满导航栏。一般情况下,一个『返回按钮』、一个『标题』、一个『当前视图的控件』就足够了;如果已经有了 SegmentedControl ,一般只搭配一个『返回按钮』或者『当前视图的控件』。

  • 为图标和文字控件,提供更大的点击热区,至少在 44dp * 44dp 以上。

代码演示

mode

模式

  1. import { NavBar, Icon } from 'antd-mobile';
  2. ReactDOM.render(
  3. <div style={{ padding: 8 }}>
  4. <NavBar leftContent="返回"
  5. rightContent={[<Icon key="0" type="user" />, <Icon key="1" type="search" />, <Icon key="2" type="plus" />]}
  6. >NavBar</NavBar>
  7. <div style={{ height: 8 }} />
  8. <NavBar leftContent="返回" mode="light"
  9. rightContent={[<Icon key="0" type="user" />, <Icon key="1" type="search" />, <Icon key="2" type="plus" />]}
  10. >NavBar</NavBar>
  11. </div>
  12. , mountNode);

other

左侧或右侧无内容

  1. import { NavBar, Icon } from 'antd-mobile';
  2. ReactDOM.render(
  3. <div style={{ padding: 8 }}>
  4. <NavBar iconName={false}
  5. rightContent={[<Icon key="0" type="user" />, <Icon key="1" type="search" />, <Icon key="2" type="plus" />]}
  6. >NavBar</NavBar>
  7. <div style={{ height: 8 }} />
  8. <NavBar leftContent="返回">NavBar</NavBar>
  9. <div style={{ height: 8 }} />
  10. <NavBar iconName={false}
  11. rightContent={<Icon type="ellipsis" />}
  12. >NavBar</NavBar>
  13. <div style={{ height: 8 }} />
  14. <NavBar iconName={false} leftContent="取消"
  15. rightContent="完成"
  16. >NavBar</NavBar>
  17. </div>
  18. , mountNode);

NavBar导航栏 - 图1

API

成员说明类型默认值
children导航内容any
mode导航模式string'dark' enum{'dark', 'light'}
iconName左边icon namestring'left'
leftContent导航左边内容any
rightContent导航右边内容any
onLeftClick导航左边点击回调function