Navbar React Component
Navbar is a fixed (with Fixed and Through layout types) area at the top of a screen that contains Page title and navigation elements.
Navbar React component represents Navbar component.
Navbar Components
There are following components included:
**Navbar**/**F7Navbar****NavLeft**/**F7NavLeft****NavRight**/**F7NavRight****NavTitle**/**F7NavTitle****NavTitleLarge**/**F7NavTitleLarge**
Navbar Properties
| Prop | Type | Default | Description |
|---|---|---|---|
| <Navbar> properties | |||
| --- | --- | --- | --- |
| inner | boolean | true | When enabled (by default), it will put all the content within internal navbar-inner element. Disable it only in case you want to put totally custom layout inside |
| title | string | Navbar title | |
| subtitle | string | Navbar sub title | |
| backLink | boolean string | Adds back-link with text (if string value is specified) |
|
| backLinkUrl | string | Custom back link URL | |
| backLinkForce | boolean | false | Force page to load and ignore previous page in history |
| backLinkShowText | boolean | By default back link text disable for MD theme | |
| sliding | boolean | true | Enables “sliding” effect for nav elements |
| noShadow | boolean | false | Disable shadow rendering for Material theme |
| noHairline | boolean | false | Disable navbar bottom thin border (hairline) for iOS theme |
| hidden | boolean | false | Makes navbar hidden |
| innerClass | string | Adds additional class to navbar-inner element |
|
| large | boolean | Enables navbar with large title | |
| titleLarge | string | Navbar large title text. If not specified then will be equal to title prop |
|
| <NavLeft> properties | |||
| backLink | boolean string | Adds back-link with text (if string value is specified) | |
| backLinkUrl | string | Custom back link URL | |
| backLinkForce | boolean | false | Force page to load and ignore previous page in history |
| backLinkShowText | boolean | By default back link text disable for MD theme | |
| sliding | boolean | Enables “sliding” effect. By default inhertis sliding prop of parent Navbar |
|
| <NavTitle> properties | |||
| title | string | Specifies element inner title text (affects if there is no child elements) | |
| subtitle | string | Sub title text | |
| sliding | boolean | Enables “sliding” effect. By default inhertis sliding prop of parent Navbar |
|
| <NavRight> properties | |||
| sliding | boolean | Enables “sliding” effect. By default inhertis sliding prop of parent Navbar |
Navbar Methods
| <Navbar> methods | |
|---|---|
| .hide(animate) | Hide navbar |
| .show(animate) | Show navbar |
| .size() | Size navbar |
Navbar Events
| Event | Description |
|---|---|
| <Navbar> events | |
| --- | --- |
| backClick clickBack | Event will be triggered after click on navbar back link |
| navbarHide | Event will be triggered when Navbar becomes hidden |
| navbarShow | Event will be triggered when Navbar becomes visible |
| navbarCollapse | Event will be triggered when Navbar with large title collapsed (from large navbar to usual navbar) |
| navbarExpand | Event will be triggered when Navbar with large title expanded (from usual navbar to large navbar) |
| <NavLeft> events | |
| backClick clickBack | Event will be triggered after click on navbar back link |
Navbar Slots
Navbar React component (<Navbar>) has additional slots for custom elements:
**default**- element will be inserted as a child of<div class="navbar-inner">element**before-inner**- element will be inserted right before<div class="navbar-inner">element**after-inner**- element will be inserted right after<div class="navbar-inner">element**nav-left**- element will be inserted in navbar’s left element**nav-right**- element will be inserted in navbar’s right element**title**- element will be inserted in navbar’s title element
1. <Navbar title="My App">
2. <a href="#" slot="nav-left">Left Link</a>
3. <a href="#" slot="nav-right">Right Link</a>
4. <div slot="before-inner">Before Inner</div>
5. <div slot="after-inner">After Inner</div>
6. <div>Default slot</div>
7. </Navbar>
9. {/* Renders to: */}
11. <div class="navbar">
12. <div>Before Inner</div>
13. <div class="navbar-inner">
14. <div class="left">
15. <a href="#">Left Link</a>
16. </div>
17. <div class="title">My App</div>
18. <div class="right">
19. <a href="#">Right Link</a>
20. </div>
21. <div>Default slot</div>
22. </div>
23. <div>After Inner</div>
24. </div>
Examples
Minimal layout
1. <Navbar title="My App"></Navbar>
Minimal layout with back link
1. <Navbar title="My App" backLink="Back"></Navbar>
Without “sliding” transition effect (affects iOS theme only)
1. <Navbar title="My App" backLink="Back" sliding="{false}"></Navbar>
With additional right link to open right panel
1. <Navbar title="My App" backLink="Back">
2. <NavRight>
3. <Link icon="icon-bars" panelOpen="right"></Link>
4. </NavRight>
5. </Navbar>
7. {/* or */}
9. <Navbar title="My App" backLink="Back">
10. <Link slot="nav-right" icon="icon-bars" panelOpen="right"></Link>
11. </Navbar>
With large title
1. <Navbar title="My App" backLink="Back" large></Navbar>
3. {/* with different large title text */}
5. <Navbar title="My App" backLink="Back" large titleLarge="Large Title"></Navbar>
All three parts
1. <Navbar>
2. <NavLeft backLink="Back"></NavLeft>
3. <NavTitle>My App</NavTitle>
4. <NavRight>
5. <Link icon="icon-bars" panelOpen="right"></Link>
6. </NavRight>
7. </Navbar>
Full custom layout
1. <Navbar>
2. <NavLeft>
3. <Link>Left Link</Link>
4. </NavLeft>
5. <NavTitle>My App</NavTitle>
6. <NavRight>
7. <Link>Right Link</Link>
8. </NavRight>
9. </Navbar>
