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

时间:2019-09-11 17:53:04   收藏:0   阅读:139

由于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下的蓝色高亮条,关键逻辑在于计算高亮条的高度和偏移量,详细代码及逻辑见下图注释

技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!