reactjs - 动态定义 TabPanel 内的组件(material-ui、react)
问题描述
我正在从数组接收要呈现的选项卡的信息,例如:['general','whodas','tasks']。根据这些信息,我必须创建包含必须显示的组件的 TabPanel 标签。例如,一般来说,标签应该是这样的:
<TabPanel value={tab.elementIndex} index={tab.elementIndex}>
<Dashboard></Dashboard>
</TabPanel>
我正在创建一个包含 elementIndex 和要呈现的组件的所有信息的数组,如下所示:
(4) [{…}, {…}, {…}, {…}]
0: {component: "dashboard", elementIndex: 0}
1: {component: "whodas", elementIndex: 1}
2: {component: "resources", elementIndex: 2}
3: {component: "tasks", elementIndex: 3}
length: 4
__proto__: Array(0)
然后尝试在返回中渲染它:
<Fragment>
{tabsPanelHtml!== undefined ? tabsPanelHtml.map ((tab) =>{
if(tab.component === 'dashboard') {
return(
<TabPanel value={tab.elementIndex} index={tab.elementIndex}>
<Dashboard></Dashboard>
</TabPanel>
)
} else if (tab.component === 'whodas') {
return(
<TabPanel value={tab.elementIndex} index={tab.elementIndex}>
<WhoDas></WhoDas>
</TabPanel>
)
} else if (tab.component === 'resources') {
return(
<TabPanel value={tab.elementIndex} index={tab.elementIndex}>
<ResourcesInfo></ResourcesInfo>
</TabPanel>
)
} else if (tab.component === 'tasks') {
return(
<TabPanel value={tab.elementIndex} index={tab.elementIndex}>
<Tasks></Tasks>
</TabPanel>
)
} else if (tab.component === 'newAdalmed') {
return(
<TabPanel value={tab.elementIndex} index={tab.elementIndex}>
<NewAdalmed></NewAdalmed>
</TabPanel>
)
}
})
: null}
</Fragment>
我认为我的渲染方法有问题(惊喜)
解决方案
推荐阅读
- javascript - JavaScript:不断改变字符
- video - 在视频数据集上训练?
- php - move_uploaded_file 返回 true 但不执行 if 语句
- javascript - 如何将身份验证详细信息传递给 iframe 内的应用程序?
- vim - vim - 如何查询终端缓冲区的密码?
- python - 如何在 Visual Studio 代码的 Python 扩展中选择子文件夹作为包含测试的目录
- json - 如何在 Ionic 4 中显示 JSON 数据中的特定行
- reactjs - 无法访问 jest.mock 函数中的变量
- liquibase - HANA 数据库上的 HDI 容器的板载租户失败
- python - 使用正则表达式排除匹配