我有以下内容:
<ListItem key={name} hidden={true} aria-hidden={true}> name </ListItem>
但ListItem仍然出现。怎么能隐藏?
ListItem
ccgok5k51#
据我所知,Material-UI中的ListItem组件上没有hidden prop ,所以你必须实现自己的行为来隐藏ListItem:
hidden
fwzugrvs2#
我正在寻找以编程方式隐藏一个Material-UI FormControl组件,并发现了同样的问题(即缺少hidden prop )。对我来说,最有效的是添加一个返回适当类字符串的方法,这取决于我是否想显示有问题的组件。例如,使用以下样式:
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():
render()
<FormControl className={this.getStyle()}> ... </FormControl>
这应该适用于任何样式化的MUI组件。(旁注:the display prop出现在文档中,但对我来说不起作用。也许它只适用于Box组件,而这恰好是文档中所有示例中使用的。这是值得进一步调查的,我还没有花时间去做。)
2条答案
按热度按时间ccgok5k51#
据我所知,Material-UI中的
ListItem
组件上没有hidden
prop ,所以你必须实现自己的行为来隐藏ListItem
:ListItem
。fwzugrvs2#
我正在寻找以编程方式隐藏一个Material-UI FormControl组件,并发现了同样的问题(即缺少
hidden
prop )。对我来说,最有效的是添加一个返回适当类字符串的方法,这取决于我是否想显示有问题的组件。
例如,使用以下样式:
我把它添加到我的组件类中:
然后在创建我有时想隐藏的组件时引用
render()
:这应该适用于任何样式化的MUI组件。
(旁注:the display prop出现在文档中,但对我来说不起作用。也许它只适用于Box组件,而这恰好是文档中所有示例中使用的。这是值得进一步调查的,我还没有花时间去做。)