在使用Material-UI的React组件中,我有这个
<ExpansionPanel defaultExpanded>
我需要对defaultExpanded进行逻辑设置(例如:如果我只有1个要使用defaultExpanded的组件实例)。
我可以根据逻辑设置名为expanded
的变量,例如
expanded = ''
if (logic) {
expanded = 'defaultExpanded'
}
...然后像这样使用expanded
变量...
<ExpansionPanel {expanded} >
这会爆炸-无法编译。我已经尝试了许多变体,但没有找到在react中动态设置ExpansionPanel的defaultExpanded
属性的方法。
答案 0 :(得分:0)
defaultExpanded是ExpansionPanel的布尔属性。
因此,您可以尝试如下操作:
expanded = false
if (logic) {
expanded = true
}
<ExpansionPanel defaultExpanded={expanded} >
答案 1 :(得分:0)
当您调用包含扩展面板的无状态组件时,可以将其作为prop变量传递。例如:
if(Some default expanded logic here)
<ExpansionPanelMenu defaultExpanded />
然后在实际组件中将其作为道具传递
const { defaultExpanded } = props;
<ExpansionPanel
defaultExpanded={defaultExpanded}
>