使用React,我有一个包含信息的div,其中另一个div包含项目列表。我希望第二个div(列表)可以在单击时折叠。如果我将click listener放在第一个div中,它将工作并显示项目列表。问题是它显示了所有项目的所有列表。我只希望单击项目的列表可见:
render() {
return (
this.state.data.map(item => {
return ( // If I put onClick={this.showCollapsible} here, all lists are loaded
<div id={'imageTableItemComponent'} key={item.imageName}>
{item.imageName} -
{item.tags.length}
<div id={'collapsibleTagList'} key={item.tags} onClick={this.showCollapsible}>
// *** This onClick does not get triggered ***
{this.state.collapsible && <TagTableComponent data={item} onClose={() => this.hideCollapsible()}/>}
</div>
</div>
)
})
)
}
如果我在this.showcollapsable()
之后添加括号,我会收到以下警告:
警告:在现有状态转换期间(例如在渲染中)无法更新。渲染方法应该是道具和状态的纯函数。
以下是ShowCollapsable函数:
showCollapsible = () => {
this.setState( {collapsible: true})
}
我的列表应该是这样的:
图1
当onClick侦听器位于第一个div中时,所有列表都是这样打开的:
图1-项目1、项目2
所以我改变了一些事情。首先,当我问这个问题时,我的构造函数
看起来像这样:
constructor(props) {
super(props);
this.state = {
data : [],
collapsible : false,
}
}
我已将可折叠更改为null,collapsable:null,
并将我的showcollapsable
函数更改为如下所示:
showCollapsible = (imageName) => {
this.setState( {collapsible: imageName})
}
最后,我在第一个div中调用单击监听器,就像这样:
render() {
return (
this.state.data.map(item => {
return (
<div id={'imageTableItemComponent'} key={item.imageName} onClick={() => this.showCollapsible(item.imageName)}> <!-- This looks fancy, eh? -->
{item.imageName} -
{item.tags.length}
<div id={'collapsibleTagList'} key={item.tags}>
{this.state.collapsible === item.imageName && <TagTableComponent data={item} onClose={this.hideCollapsible}/>}
</div>
</div>
)
})
)
}
对于将来可能遇到此问题的任何人,不要像我第一次做的那样XD
通过将collapsable设置为true,它改变了整个类的状态,所以我在哪里改变状态并不重要。这样,仅更改具有正确imageName的项的状态。
如标题所述。我花了一些时间在一个客户的网站上实现一个特定的字体。我在所有需要的css类上实现了字体。 在定义菜单链接的“A”类中,调用字体不起作用。为什么? 参见截图1和2。 例如,在“div.powered-by”类(它也像链接一样工作)上,它可以工作,而在“a”类(它定义菜单链接)上则不行。见截图。 调用字体不起作用: Div.Powered-通过调用字体Works:
所以我有一个简单的Bell类,我正在测试垃圾收集: 如果我运行下面的代码段,它不会被垃圾回收 如果我只是检查参考资料。我住在下面,垃圾被收集了 你们能给我解释一下这是怎么回事吗?
问题内容: 我的html文件中有两个div。我想隐藏第一个div并在html输入按钮事件上显示另一个div 。 这是我的代码, 但这不起作用。任何帮助将不胜感激。 谢谢。 问题答案: 1)在onclick内,您不必使用暗示的“ javascript:”。 2)您检查“显示:阻止”,我总是检查“显示:无”(因为显示也可以是“行内阻止”,等等。) 尝试这个:
问题内容: 我想在容器div中对齐3个div,如下所示: 容器div的宽度为100%(未设置宽度),调整容器大小后,居中div应保持居中。 所以我设置: 但它变成: 有小费吗? 问题答案: 使用该CSS,将您的div放置为这样(浮点数优先): PS 您也可以向右浮动,然后向左浮动,然后居中。重要的是浮子位于“主”中心部分之前。 PPS 您通常希望在此代码片段的最后:该代码片段将垂直延伸以包含两个侧
各位早上好,我正在创建一个产品销售系统,这个话题会有点长,因为我想好好解释一下。 正在用Vaadin+MySQL+springboot+Maven开发的系统 在主屏幕上,我们有一个网格,上面有“新建”、“更改”和“删除”按钮: 当点击new按钮时,将打开一个窗口,开始“销售”产品: 这里的问题是这样的,当我点击“+项”时会出现以下情况: 问题:创建了一个滚动条(在窗口的右边),保存、关闭和+项按钮
问题内容: 在将一个人叠加到另一个人上时,我需要帮助。 我的代码如下所示: 不幸的是,我不能将或嵌套在第一个内部。 如图所示,它必须是两个单独的,但是我需要知道如何将放置在上方和最右侧,并以的顶部为中心。 问题答案: 我建议使用来了解和子元素。