Chuyển tới nội dung chính

Navbar

Bao gồm các components:

  • Navbar
  • NavLeft
  • NavRight
  • NavTitle
  • NavTitleLarge
PropTypeDefaultDescription
titlestringNavbar title
subtitlestringNavbar sub title
backLinkboolean | stringThêm back link với icon mặc định, với kiểu dữ liệu string sẽ thêm nội dung text đi kèm icon
backLinkUrlstringTùy chỉnh back link URL
backLinkForcebooleanfalseBuộc tải trang không quan tâm các trang trước trong lịch sử
backLinkShowTextbooleanCho phép hiển thị backLink đã khai báo với kiểu string cùng với back icon
slidingbooleantrueKích hoạt hiệu ứng "sliding"
hiddenbooleanfalseẨn navbar
innerClassstringThêm class cho navbar-inner element
innerClassNamestringAlias cho innerClass prop
largebooleanChuyển navbar sang dạng kích thước lớn
transparentbooleanChuyển navbar sang dạng không có background (transparent).
titleLargestringThêm title cho large navbar. Nếu không xác định thì title prop sẽ được sử dụng để render title cho large navbar
PropTypeDefaultDescription
backLinkboolean | stringThêm back link với icon mặc định, với kiểu dữ liệu string sẽ thêm nội dung text đi kèm icon
backLinkUrlstringTùy chỉnh back link URL
backLinkForcebooleanfalseBuộc tải trang không quan tâm các trang trước trong lịch sử
backLinkShowTextbooleanKích hoạt hiệu ứng "sliding". Mặc định sẽ kế thừa sliding prop từ component Navbar cha
slidingbooleantrueBỏ hiệu ứng "sliding" khi set giá trị bằng false (Hiệu ứng trên IOS)
PropTypeDefaultDescription
titlestringNavbar title
subtitlestringSub title text
slidingbooleanKích hoạt hiệu ứng "sliding". Mặc định sẽ kế thừa sliding prop từ component Navbar cha
PropTypeDefaultDescription
slidingbooleanKích hoạt hiệu ứng "sliding". Mặc định sẽ kế thừa sliding prop từ component Navbar cha

Lưu ý: Để Navbar fixed trên trang, cần đặt <Navbar > component ngay trong <Page> component. Trường hợp tự xây dựng component render Navbar cần export component với CustomNavbar.displayName = 'zmp-navbar'. Ví dụ:

const CustomNavbar = (props) => ({
/* ... */
});
CustomNavbar.displayName = "zmp-navbar";
export default CustomNavbar;
<Page>
<CustomNavbar />
</Page>

| <Navbar/> methods | | ------------------- | ----------- | | .hide(animate) | Hide navbar | | .show(animate) | Show navbar | | .size() | Size navbar |

EventPropDescription
backClick
clickBack
onBackClick
onClickBack
Event sẽ được triggered sau khi người dùng click lên back link
navbarHideonNavbarHideEvent sẽ được triggered khi navbar ẩn đi
navbarShowonNavbarShowEvent sẽ được triggered khi navbar hiện lên
EventPropDescription
backClick
clickBack
onBackClickEvent sẽ được triggered sau khi người dùng click lên back link

Component Navbar cung cấp các slots để nhà phát triển có thể đặt các đoạn UI để tuỳ biến vào:

  • default - element sẽ được chèn dưới dạng children của <div className="navbar-inner"\> element
  • before-inner - element sẽ được chèn ngay trước <div className="navbar-inner"\>element
  • after-inner - element sẽ được chèn ngay sau <div className="navbar-inner"\> element
  • left - element sẽ được chèn trong <div className="left"\> element
  • right - element sẽ được chèn trong <div className="right"\> element
  • title - element sẽ được chèn trong <div className="title"\> element
  • title-large - element sẽ được chèn trong <div className="title-large"\> element
<Navbar title='My App'>
<a href='#' slot='left'>
Left Link
</a>
<a href='#' slot='right'>
Right Link
</a>
<div slot='before-inner'>Before Inner</div>
<div slot='after-inner'>After Inner</div>
<div>Default slot</div>
</Navbar>;

{
/* render thành: */
}

<div className='navbar'>
<div className='navbar-bg'></div>
<div>Before Inner</div>
<div className='navbar-inner'>
<div className='left'>
<a href='#'>Left Link</a>
</div>
<div className='title'>My App</div>
<div className='right'>
<a href='#'>Right Link</a>
</div>
<div>Default slot</div>
</div>
<div>After Inner</div>
</div>;

Ví dụ

Layout đơn giản nhất

<Navbar title='My App'></Navbar>
<Navbar title='My App' backLink='Back'></Navbar>
<Navbar title='My App' backLink='Back' sliding='{false}'></Navbar>
<Navbar title='My App' backLink='Back' large></Navbar>;

{
/* với tiêu đề*/
}

<Navbar title='My App' backLink='Back' large titleLarge='Large Title'></Navbar>;

Tùy chỉnh layout

<Navbar large>
<NavLeft displayName='zmp-navleft'>
<Link className='no-ripple' noLinkClass back>
<Icon zmp='zi-arrow-left' />
</Link>
</NavLeft>
<NavTitleLarge>{title}</NavTitleLarge>
<NavRight>
{/* Thêm các button tuỳ chỉnh */}
<ActionButton />
</NavRight>
</Navbar>