reactjs 如何隐藏MUI React ListItem?

izj3ouym  于 2023-06-05  发布在  React
关注(0)|答案(2)|浏览(303)

我有以下内容:

<ListItem key={name} hidden={true} aria-hidden={true}>
  name
</ListItem>

ListItem仍然出现。怎么能隐藏?

ccgok5k5

ccgok5k51#

据我所知,Material-UI中的ListItem组件上没有hidden prop ,所以你必须实现自己的行为来隐藏ListItem

fwzugrvs

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()

<FormControl className={this.getStyle()}>
...
</FormControl>

这应该适用于任何样式化的MUI组件。
(旁注:the display prop出现在文档中,但对我来说不起作用。也许它只适用于Box组件,而这恰好是文档中所有示例中使用的。这是值得进一步调查的,我还没有花时间去做。)

相关问题