Javascript 使用React显示另一个相同组件时隐藏组件
我有一个项目列表(Javascript 使用React显示另一个相同组件时隐藏组件,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我有一个项目列表(ResultItem),其中包含一个组件(ResultTag),单击该组件时,在其上方显示一个工具提示(一个HTML类添加到其中,再次单击时删除,以隐藏它) 然而,当我点击ResultTag,然后点击它下面的ResultTag,两者都会显示;我将如何隐藏所有的ResultTag,而不是我刚才单击的那一个,这样一次只能显示一个 目前,在ResultItem中,我有一个onClick函数,每当用户单击ResultItem中的任何位置并且ResultTag可见时,该函数就会将show
ResultItem
),其中包含一个组件(ResultTag
),单击该组件时,在其上方显示一个工具提示(一个HTML类添加到其中,再次单击时删除,以隐藏它)
然而,当我点击ResultTag
,然后点击它下面的ResultTag
,两者都会显示;我将如何隐藏所有的ResultTag
,而不是我刚才单击的那一个,这样一次只能显示一个
目前,在ResultItem
中,我有一个onClick
函数,每当用户单击ResultItem
中的任何位置并且ResultTag
可见时,该函数就会将showTooltip
中的状态设置为false/hidden(使用道具)。但是,我需要它跨每个ResultItem
,这意味着跨组件工作
下面是一些简化的代码:
/* ResultTag */
showTooltip() {
this.setState({ showTooltip: true })
}
render() {
return (
<div onClick={this.showTooltip}>
{this.renderTooltip()} { /* function which contains the JSX/HTML to show the toolip */ }
<span className="tag--label">Tags</span>
</div>
)
}
/*ResultTag*/
showTooltip(){
this.setState({showTooltip:true})
}
render(){
返回(
{this.renderTooltip()}{/*函数,其中包含用于显示toolip的JSX/HTML*/}
标签
)
}
隐藏在ResultItem
中完成,方法是设置状态,然后在ResultTag
中作为道具接收该状态
总结如下:
- 我在列表视图中有许多
组件ResultItem
- 每个
中都有一个ResultItem
,单击后,在标记/标签上方显示一个工具提示ResultTag
- 当一个
可见,并单击另一个ResultTag
中的另一个时,隐藏所有其他ResultItem
sResultTag