antd Tabs组件动态加载组件内容

摘要:
Tabs的TabPane子组件不支持将属性传递给Component,并且官方示例的TabPane内容仅为简单文本。

Tabs的TabPane子组件不支持通过属性传入Component,官方示例的TabPane内容也都只有简单的文本。如果需要在TabPane的内容中动态传入组件,可以利用jsx特性、采用封装高阶组件的方法实现,方法如下:

1、高阶组件定义

class ToTabContent extends React.Component{
    constructor(props){
        super(props)
    }
    render(){
       //通过传入的name属性动态得到自己需要注入的组件,MyComponent首字母要大写
        const MyComponent = pages[this.props.name]
        
        return <MyComponent {...this.props} />
    }
}

2、state定义

this.state = {
    panes : [{
        key: 'pageA',
        title: '页面A',
        name: 'pageA'
    },{
        key: 'pageB',
        title: '页面B',
        name: 'pageB'
    }]
}

3、根据state定义的内容渲染TabPane,TabPane内容为state中指定名字的组件

this.state.panes.map( pane => 
    <TabPane tab={ pane.title } key={ pane.key }>
        <ToTabContent name={pane.name} />
    </TabPane>
)}

免责声明:文章转载自《antd Tabs组件动态加载组件内容》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇matlab中figure 创建图窗窗口neo4j修改密码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用QSS动态更换皮肤简单举例 狼人:

最近在看QSS的内容,觉得真是一个十分好用的东西,特来做了一个小例子和大家一起学习下。通过QSS可以实现动态更换QT程序的外观。具体QSS的内容请看QT皮肤(QSS)编程,这里有QSS的详细介绍。下面我主要通过一个小例子说明下如何动态变换皮肤的功能。首先,先创建一个test.qss文件,放置在程序目录下,文件内容如下: QPushButton {colo...

设计模式之动态代理

在了解什么是动态代理模式,以及怎么实现动态代理模式之前,我们先明确一个场景,那就是当我们需要对一类实现类增加一些额外处理对其中的某些方法做一些增强时。譬如增加日志打印,参数校验,鉴权等。这些功能很重要,但是又具有一定的独立性(与业务代码不相关)。针对这种情况, 我们就可以采用动态代理模式来实现。 动态代理顾名思义,就是动态的对方法实现代理。要真正理解动态代...

oracle中动态SQL详解

部分内容参考网上资料 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎...

Winform 动态 画图 不闪

一、问题:解决winform动态画图闪的问题,网上搜的方法,大部分都是: “this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);”,甚至直接“this.DoubleBuffered = true;”。 先 new 个Bi...

Element-UI中el-table实现简单动态数据绑定的实现

El-Table动态绑定数据的方法 在使用el-table时,有时候数据的列是不固定的,都是通过sql查询来的,怎么实现动态的数据绑定到el-table上了? 看了看官网也没有相关的例子,网上看了下都是封装组件的,咱也不会,最后用了个v-for来实现一下。 后台返回的数据如下: {"评分人":"15034100248","ID":"BD2020091517...

uniapp 实现动态切换全局主题色

需求:实现开发的应用中切换主题色 如果只是需要一个主题色没有切换的需要 完全可以使用uniapp里面uni.scss文件文档 思路:预先在一个公共css中定义你需要的主题颜色,这里只是示例定义了两种颜色 参考文档 从中获得思路可以通过动态设置data-xx从而配合css属性选择器来动态改变主题色 本来是想通过mixin直接混入一个变量来达到全局控住主题...