1.3.0 • Published 4 years ago

xy-tabs v1.3.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago
IEChromeFirefoxOperaSafari
IE 10+ ✔Chrome 31.0+ ✔Firefox 31.0+ ✔Opera 30.0+ ✔Safari 7.0+ ✔

NPM version node version npm download

xy-tabs

xy-tabs

选项卡组件, 提供了低级的组件任意组合

安装

# yarn
yarn add xy-tabs

使用例子

import React from "react";
import ReactDOM from "react-dom";
import { TabPanelNode, Tabs } from "xy-tabs";
// 加载样式
import "xy-tabs/assets/index.css";
ReactDOM.render(
    <Tabs defaultActiveKey="b">
        <TabPanelNode tab="tab 1" tabKey="a">
            first
        </TabPanelNode>
        <TabPanelNode tab="tab 2" tabKey="b">
            second
        </TabPanelNode>
        <TabPanelNode tab="tab 3" tabKey="c">
            third
        </TabPanelNode>
    </Tabs>,
    container,
);

API

Tabs

属性说明类型默认值
childrenTabPanelsReact.ReactNode
activeKey激活 keystring/number
defaultActiveKey默认激活 keystring/number
lazy是否延迟载入 contentboolean
reverse是否翻转boolean
destroyInactiveTabPane不是激活的 content 是否不渲染在 dom 中boolean
renderTabBar渲染选项卡 tab() => JSX.Element
renderTabContent渲染选项卡内容() => JSX.Element
onChange激活改变事件(activeKey: string/number) => void
onTabClicktab 被点击事件(activeKey: string/number, event?: any) => void

TabPanelNode

属性说明类型默认值
active是否激活样式boolean
disabled是否禁用boolean
childrentab 内容React.ReactNode
tab选项卡 tab 内容React.ReactNode
lazy是否延迟载入 contentboolean
tabKey选项卡 keystring/number
destroyInactiveTabPane不是激活的 content 是否不渲染在 dom 中boolean

使用自定义渲染

import React, { useState, useRef } from "react";
import ReactDOM from "react-dom";
import { Tabs, TabBarRoot, TabContentRoot, TabNode, TabPanelNode, TabsContext, ScrollableTabBar, SwipeableTabContent } from "xy-tabs";
// 可选的加载样式
import "xy-tabs/assets/index.css";

const scrollToRef = useRef<Function>();

// ScrollableTabBar 自定义渲染tabbar组件, 封装了溢出tab显示左右箭头
// SwipeableTabContent 自定义渲染tabcontent组件, 封装了切换动画

ReactDOM.render(
    <Tabs renderTabBar={() => <ScrollableTabBar />} renderTabContent={() => <SwipeableTabContent />}>
        <TabPanelNode tab="tab 1" tabKey="a">
            first
        </TabPanelNode>
        <TabPanelNode tab="tab 2" tabKey="b">
            second
        </TabPanelNode>
        <TabPanelNode tab="tab 3" tabKey="c">
            third
        </TabPanelNode>
    </Tabs>,
    container,
);

开发

yarn run start

例子

http://localhost:6006

测试

yarn run test

开源许可

xy-tabs is released under the MIT license.

1.3.0

4 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

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

0.0.9

5 years ago