我有以下内容:
<ListItem key={name} hidden={true} aria-hidden={true}>
name
</ListItem>
,但ListItem
仍然显示。如何隐藏?
答案 0 :(得分:1)
据我所知,在Material-UI的hidden
组件上没有ListItem
道具,因此您必须实现自己的行为才能隐藏ListItem
: / p>
ListItem
。答案 1 :(得分:0)
我当时正试图以编程方式隐藏Material-UI FormControl组件,并发现了相同的问题(即缺少hidden
道具)。
对我有用的是根据我是否要显示有问题的组件,添加一个返回适当的类字符串的方法。
例如,样式如下:
const styles = createStyles({
...
formcontrol: {
minWidth: 120,
margin: 10
},
invisible: {
visibility: "hidden"
},
});
我将此添加到了组件类中:
getStyle() {
let cls: string;
if (this.props.whatever) {
cls = this.props.classes.formcontrol;
} else {
cls = this.props.classes.invisible + " " + this.props.classes.formcontrol;
}
return cls;
}
然后在创建有时要隐藏的组件时从render()
引用它:
<FormControl className={this.getStyle()}>
...
</FormControl>
这适用于任何样式的MUI组件。
(旁注:the display prop在文档中似乎是这样做的,但对我却不起作用。也许它仅适用于Box组件,这恰好是本示例中所有示例中使用的组件。 docs。值得进一步调查,我还没有花时间做。)