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

Navbar

Cú pháp

<zmp-navbar>

Zalo Mini App mặc định cung cấp cho ứng dụng sử dụng thanh điều hướng của Zalo, tuy nhiên các ứng dụng có thể không sử dụng thanh điều hướng mặc định này (bằng cách set headerColor: "" trong app-config.json), và tự custom lại thanh điều hướng riêng của ứng dụng. Component Navbar hỗ trợ tạo thanh điều hướng với cú pháp như trên, kèm theo component con để kết hợp với nhau:

  • zmp-nav-left
  • zmp-nav-right
  • zmp-nav-title
  • zmp-nav-title-large

<zmp-navbar/> properties

PropTypeDefaultDescription
titlestringNavbar title
subtitlestringNavbar sub title
back-linkboolean | 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
back-link-urlstringTùy chỉnh back link URL
back-link-forcebooleanfalseBuộc tải trang không quan tâm các trang trước trong lịch sử
back-link-show-textbooleanCho 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
inner-classstringThêm class cho navbar-inner element
inner-class-namestringAlias 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).
title-largestringThê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

<zmp-nav-left/> properties

PropTypeDefaultDescription
back-linkboolean | 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
back-link-urlstringTùy chỉnh back link URL
back-link-forcebooleanfalseBuộc tải trang không quan tâm các trang trước trong lịch sử
back-link-show-textbooleanKí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)

<zmp-nav-title/> properties

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

<zmp-nav-right/> properties

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 <zmp-navbar > component ngay trong <zmp-page > component

<zmp-navbar/> events

EventDescription
@back:click
@click:back
Event sẽ được triggered sau khi người dùng click lên back link
@navbar:hideEvent sẽ được triggered khi navbar ẩn đi
@navbar:showEvent sẽ được triggered khi navbar hiện lên

<zmp-nav-left/> events

EventDescription
@back:click
@click:back
Event sẽ được triggered sau khi người dùng click lên back link

Slots

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

SlotVị trí được chèn vào
#defaultElement sẽ được chèn dưới dạng children của <div class="navbar-inner"\> element
#before-innerElement sẽ được chèn ngay trước <div class="navbar-inner"\>element
#after-innerElement sẽ được chèn ngay sau <div class="navbar-inner"\> element
#leftElement sẽ được chèn trong <div class="left"\> element
#rightElement sẽ được chèn trong <div class="right"\> element
#titleElement sẽ được chèn trong <div class="title"\> element
#title-largeElement sẽ được chèn trong <div class="title-large"\> element
<zmp-navbar title="My App">
<template #left>
<a href="#"> Left Link </a>
</template>
<template #right>
<a href="#"> Right Link </a>
</template>
<template #before-inner>
<div>Before Inner</div>
</template>
<template #after-inner>
<div>After Inner</div>
</template>
<div>Default slot</div> </zmp-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

Code demo fallback when rendering server side!
Code demo fallback when rendering server side!
Code demo fallback when rendering server side!

Tùy chỉnh layout

Code demo fallback when rendering server side!