Chuyển tới nội dung chính
Phiên bản: 1.9.0

implementation

BottomNavigation tạo giao diện nằm phía dưới giao diện ứng dụng, giúp dễ dàng điều hướng sang các trang khác

Properties

BottomNavigation

NameTypeDefaultDescription
activeKeystring

Được sử dụng để chỉ định tab nào đang được chọn để hiển thị nội dung tương ứng (active tab).

Cần được sử dụng cùng với onChange để cập nhật lại giá trị.

defaultActiveKeystring

Được sử dụng để chỉ định tab nào sẽ được chọn mặc định khi component được hiển thị.

Lưu ý: Thay đổi defaultActiveKey khi component đã được render sẽ không có tác dụng.

fixedbooleanfalse

Giữ BottomNavigation cố định ở phía dưới của ứng dụng và không scroll theo nội dung.

zIndexnumber

Được sử dụng để xác định thứ tự hiển thị (z-index) của component BottomNavigation so với các thành phần khác có thể overlay trên ứng dụng.

onChange(activeKey: string) => void

Được sử dụng để xử lý sự kiện khi tab được chọn thay đổi. Cần phải cập nhật lại giá trị của activeKey nếu được truyền vào.

BottomNavigation.Item

NameTypeDefaultDescription
activeIconReactNode

Icon được hiển thị khi tab item được active. Thuộc tính này sẽ ghi đè thuộc tính icon, hoặc nếu không được truyền thì icon sẽ được sử dụng.

iconReactNode

Icon được hiển thị phía trên label.

itemKeystring

Key định danh của tab item, mỗi tab trong cùng một BottomNavigation phải có một key khác nhau.

labelReactNode

Nội dung chữ của tab item.

linkTostring

Đường dẫn đến trang được kích hoạt khi tab item được click. Chỉ sử dụng khi sử dụng với ZMPRouterAnimationRoutes.

onClick(e: React.MouseEvent | React.KeyboardEvent) => void

Callback được gọi khi tab item được click / press.

Example

import React, { useState } from "react";
import { BottomNavigation, Icon, Page } from "zmp-ui";

const BottomNavigationPage = (props) => {
  const [activeTab, setActiveTab] = useState("chat");
  const { title } = props;
  return (
    <Page className="page">
      <BottomNavigation
        fixed
        activeKey={activeTab}
        onChange={(key) => setActiveTab(key)}
      >
        <BottomNavigation.Item
          key="chat"
          label="Tin Nhắn"
          icon={<Icon icon="zi-chat" />}
          activeIcon={<Icon icon="zi-chat-solid" />}
        />
        <BottomNavigation.Item
          label="Danh bạ"
          key="contact"
          icon={<Icon icon="zi-call" />}
          activeIcon={<Icon icon="zi-call-solid" />}
        />
        <BottomNavigation.Item
          label="Khám phá"
          key="discovery"
          icon={<Icon icon="zi-more-grid" />}
          activeIcon={<Icon icon="zi-more-grid-solid" />}
        />
        <BottomNavigation.Item
          key="timeline"
          label="Nhật ký"
          icon={<Icon icon="zi-clock-1" />}
          activeIcon={<Icon icon="zi-clock-1-solid" />}
        />
        <BottomNavigation.Item
          key="me"
          label="Cá nhân"
          icon={<Icon icon="zi-user" />}
          activeIcon={<Icon icon="zi-user-solid" />}
        />
      </BottomNavigation>
    </Page>
  );
};

export default BottomNavigationPage;