reactjs - 每四条记录显示一列

标签 reactjs bulma

我正在努力如何显示列或每四个记录打破列。我正在使用 bulma 列,我的目标是在数组映射内的每四个记录上显示列。感谢您的帮助。

map 功能内部

{list.map(function(item, key){
return <div className="columns">
    <div className="column">{item.name}</div>
</div>
})}

假设列表有8条记录,预期结果应该是这样的

<div className="columns">
   <div className="column">name 1</div>
   <div className="column">name 2</div>
   <div className="column">name 3</div>
   <div className="column">name 4</div>
</div>
<div className="columns">
  <div className="column">name 5</div>
  <div className="column">name 6</div>
  <div className="column">name 7</div>
  <div className="column">name 8</div>
</div>

最佳答案

您可以从数组创建 block ,然后用 <div className="columns"> 包装每个 block 。

function array_chunks(array, chunks) {
  let result = [];
  let n = array.length;
  for (let i = 0; i < n; i += chunks) {
    result = [...result, array.slice(i, i + chunks)];
  }
  return result;
}

let columns = array_chunks(list, 4);


function App() {
  return (
    <div className="App">
      {columns.map(function(items, key) {
        return (
          <div className="columns">
            {items.map(function(item) {
              return <div className="column">{item.name}</div>;
            })}
          </div>
        );
      })}
    </div>
  );
}

请参阅sandbox .

关于reactjs - 每四条记录显示一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58335900/

相关文章:

html - 工具提示在布局之上,滚动条将其隐藏在里面。 Z 索引不起作用

html - 如何在新行上显示标签/值并显示另一个嵌套的标签值对

css - 使用 Bulma CSS 重叠部分

reactjs - 返回 2 页 - React-Router - ReactJS -

javascript - React 组件在 React bootstrap Navbar 下渲染

javascript - React Helmet 动态类相互覆盖

reactjs - 重定向到新选项卡时通过链接传递状态

html - Bulma - 导航栏 Logo 图像不适应导航栏高度。如何更改 Logo 图像的大小?

javascript - 带右侧图标的 bulma 输入字段 : how to bind jquery event

html - 如何在 bulma 列中设置全高背景颜色?