【发布时间】:2019-01-20 06:01:37
【问题描述】:
当你运行代码 sn-p 时,我有一段代码在做它应该做的事情。我希望filterbox 占据整个宽度,而flex-item 占据三分之一。
.view-content {
display: flex;
flex-wrap: wrap;
}
.filterbox {
width: 100%;
}
.flex-item {
width: 33%;
}
<div class="view-content">
<div class="filterbox">FILTER</div>
<div class="flex-item">
Flex-ITEM
</div>
<div class="flex-item">
Flex-ITEM
</div>
<div class="flex-item">
Flex-ITEM
</div>
<div class="flex-item">
Flex-ITEM
</div>
</div>
现在,我想继续添加更多从数组 items 检索到的 filterbox 和 flex-item。我的 React 代码如下所示:
render() {
return (
<div className='view-content'>
{this.items.map((item, index) => {
return (
<div key={index} className='my-container'>
<div className='filterbox'>
<div>{item.filter}</div>
</div>
<div className='flex-item'}>
<div>{item.flex-item}</div>
</div>
</div>
)
})}
</div>
);
}
我不得不将 filterbox 和 flex-item 包装在 my-container 中,这会破坏 flexbox 代码。
我该如何解决这个问题?
【问题讨论】:
-
它破坏了你的 flexbox 代码是什么意思?添加项目时,您希望项目垂直显示吗?
-
filterbox和flex-item的父容器必须像.view-content一样使用display:flex才能使 flexbox 工作。我不得不将它们包装在my-container中,因为 React JSX 只允许返回 1 个元素。
标签: javascript html css reactjs flexbox