【问题标题】:How to split a list accordions into two columns using css and react?如何使用css将列表手风琴分成两列并做出反应?
【发布时间】:2020-01-03 10:21:51
【问题描述】:

我需要在两列中显示 Accordions 列表。 每个手风琴都包括摘要和详细信息。详细信息仅在单击摘要时可见。 我没有包括这个逻辑来保持简短。

这是反应代码。


<div class="container">
  {accordions.map(acc => (
    <div class="accordion">
      <AccordionSummary text={acc.summary} />
      <AccordionDetails text={acc.details} />
    </div>
  ))}

这里是 CSS

.container {
  display: grid;
  grid-template-columns: repeat(2,1fr);
}

这种方法的问题是,当在一列中单击手风琴时,另一列也会展开(因为它们在同一行中)。

如果我们可以有两列,每列显示为网格,问题就解决了。但是将手风琴分成两列本身就是一个问题。

谁能建议如何在不使用相同反应代码扩展另一列的情况下执行此操作?

【问题讨论】:

    标签: html css reactjs css-grid


    【解决方案1】:

    问题是因为您使用相同的 map 函数来遍历 acc 对象,因此对于 on click 方法,一个 acc 对象的详细信息和摘要都被视为单个实体。所以我认为用相同的反应代码不可能实现你想要的东西。

    【讨论】:

    • 不是onClick方法的问题。该功能运行良好。每个手风琴都有一个唯一的 id。然后网格放置在同一行上。当一行扩展时,另一行也扩展,但带有空块(其他手风琴的详细信息不显示)。
    • 你试过记录 acc.details 吗?因为那时代码很好。我猜 AccordionDetails.js 文件中可能有错字
    • 功能很好。那里没有问题。它的 CSS 网格问题。一排有两个手风琴。如果一个扩大,列的高度扩大。所以它会影响我不想要的整行。这有意义吗?
    • 如果这不是问题,如果你能告诉我代码会更好。我明白你的问题
    • @HarikiranChalla 你找到解决方案了吗?
    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    相关资源
    最近更新 更多