antd源码分析之——标签页(tabs 2.Tabs关键组件功能实现)

Posted zs-note

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了antd源码分析之——标签页(tabs 2.Tabs关键组件功能实现)相关的知识,希望对你有一定的参考价值。

由于ant Tabs组件结构较复杂,共分三部分叙述,本文为目录中第二部分(高亮)

目录

一、组件结构

antd代码结构

rc-ant代码结构

1、组件树状结构

2、Context使用说明

3、rc-tabs中只在example、test中使用的组件说明

二、Tabs关键组件功能实现

1、Tabs(antd)

2、RcTabs

3、Sentinel哨兵

4、InkTabBarNode

三、Tabs的滚动效果

ScrollableTabBarNode 

二、Tabs关键组件功能实现

1、Tabs(antd)

 antd中的Tabs主要控制可编辑态和Tabs额外的按钮,具体tab功能实现交给rc-Tabs,具体内容见下图

 技术图片

render方法源码对照

技术图片

 技术图片

 技术图片

2、RcTabs

 技术图片

3、Sentinel哨兵

sentinel哨兵负责监听tab键盘事件,tab键focus焦点向后移动,shift+tab键焦点向前移动

前后关系如下图所示

 技术图片

 代码 

 技术图片

4、InkTabBarNode

 inkTabBar为当前active状态tab下的蓝色高亮条,关键逻辑在于计算高亮条的高度和偏移量,详细代码及逻辑见下图注释

技术图片

 

以上是关于antd源码分析之——标签页(tabs 2.Tabs关键组件功能实现)的主要内容,如果未能解决你的问题,请参考以下文章

antd源码分析之——栅格(Grid)

antd源码分析之——对话框(modal)

2016-7-5

source insight增加tab标签页的方法之sihook

bootstrap源码分析之tab(选项卡)

谁能给个element的tab标签页的标签下拉选项的demo,就是label