1.4.8 • Published 4 years ago

vkui-navigator v1.4.8

Weekly downloads
13
License
MIT
Repository
github
Last release
4 years ago

VKUI Navigator

Данный модуль позволяет быстро и просто создать базовую логику навигации для сервиса на платформе VK Mini Apps. Поддерживает все необходимые функции и инкапсулирует в себе базовое поведение на всех платформах (такое как свайпы на iOS и кнопка "назад" на Android)

Демо приложение 📱

Установка 📦

Выполните yarn add vkui-navigator или npm i vkui-navigator

Быстрый старт 🚀

import { Stack, Page } from "vkui-navigator/dist";

// simple usage
<Stack activePage="page1">
    <Page id="page1" activePanel="welcome">
        <Welcome id="welcome"/>
    </Page>
</Stack>

Принцип работы

Вокруг ваших панелей создается View со втроенной базовой логикой. Каждой панели передается в props объект navigator. В нем содержаться методы и параметры, который вы передали из предыдущей панели. Также есть поддержка модальных окон и попапов

API Справочник

Stack

▸ Корневой элемент навигации

Props:

НазваниеТипОписание
activePagestring, requiredИдентификатор активной страницы
modalsarray of nodeМассив модальных окон

Page

▸ Основная единица модуля. Включает в себя логику навигации между панелями

Props:

НазваниеТипОписание
idstring, requiredИдентификатор, который передается View внутри компонента
activePanelstringИдентификатор начальной панели
headerboolПоказать/скрыть header (эквивалент header во View)
titlestringНазвание пункта в таббаре (при его использовании)
iconstringИконка пункта в таббаре (при его использовании)

Tabbar

▸ Умный таббар

Props:

НазваниеТипОписание
idstring, requiredИдентификатор, который передается Epic внутри компонента
activeStorystring, requiredИдентификатор начальной страницы (Page)

Navigator

▸ Объект, передаваемый в props всем панелям и модальным окнам.

Structure:

НазваниеТипОписание
go(id:String, params={})funcПереход на панель с идентификатором id
goPage(id:String, params={})funcПереходит на другу страницу Page (из Stack)
goBackfuncВозвращает на одну панель назад
showModal(id:String, params={})funcПоказывает модальное окно с идентификатором id
hideModalfuncСкрывает все активные модальные окна
showPopout(popout:Node)funcПоказывает переданный попаут
hidePopoutfuncСкрывает все активные попауты
showLoaderfuncПоказывает спиннер загрузки
hideLoaderfuncСкрывает спиннер загрузки
paramsobjectПараметры, которые передаются через go или showModal

Примеры 📚

Пример с панелью

const Panel1 = ({ id, navigator }) => (
    <Panel id={id}>
        <PanelHeader>
            Панель 1
        </PanelHeader>
        <Group>
            <Button onClick={() => navigator.go("panel2")}>
                Вперед
            </Button>
        </Group>
    </Panel>
);

const Panel2 = ({ id, navigator }) => (
    <Panel id={id}>
        <PanelHeader>
            Панель 2
        </PanelHeader>
        <Group>
            <Button onClick={() => navigator.goBack()}>
                Назад
            </Button>
        </Group>
    </Panel>
);

<Stack activePage="page1">
    <Page id="page1" activePanel="panel1">
        <Panel1 id="panel1"/>
        <Panel2 id="panel2"/>
    </Page>
</Stack>

Авторы 🎨

1.4.8

4 years ago

1.4.7

4 years ago

1.4.6

5 years ago

1.4.5

5 years ago

1.4.4

5 years ago

1.4.3

5 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago