collapse组件样式 react_antd源码分析之——折叠面板(collapse)

本文深入探讨了Ant Design中的Collapse组件,包括其在antd和rc-collapse库中的实现。分析了 Collapse 的组件结构、内部属性、方法调用关系,以及使用到的“聪明组件”和“傻瓜组件”设计模式。通过对源码的解析,揭示了如何通过React.Children.map和cloneElement实现子组件的统一管理和优化。
摘要由CSDN通过智能技术生成

官方文档 https://ant.design/components/collapse-cn/

目录

一、antd中的collapse

代码目录

1、组件结构图(♦♦♦重要)

2、源码节选:antd/components/collapse/collapse.tsx

3、源码节选:antd/components/collapse/CollapsePanel.tsx

二、RcCollapse

代码目录

1、组件内部属性结构及方法调用关系图(♦♦♦重要)

2、组件应用的设计模式(♦♦♦重要)

3、源码节选:rc-collapse/Collapse.jsx

4、源码节选:rc-collapse/panel.jsx

一、antd中的collapse

antd组件中有些使用了React 底层基础组件(查看具体列表点这里),collapse就是这种类型的组件

antd中collapse主要源码及组成结构如下,其中红色标注的Rc开头的组件是React底层基础组件

代码目录

1、组件结构图:

2、antd/components/collapse/collapse.tsx

export default class Collapse extends React.Component{

static Panel=CollapsePanel;

static defaultProps={

prefixCls:'ant-collapse',

bordered:true,

openAnimation: { ...animation, appear() { } },

};

renderExpandIcon= () =>{return(

);

}

render() {

const { prefixCls, className= '', bordered } = this.props;

const collapseClassName=classNames({

[`${prefixCls}-borderless`]: !bordered,

}, className);return(

{...this

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值