css grid can#39;t display data on next row(Css网格不能在下一行显示数据)
                            本文介绍了Css网格不能在下一行显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
我刚刚开始使用网格,在Reaction上制作表格组件。传递头部标题和数据作为道具。我将repeat(auto-fit, minmax(10px, 1fr));设置为适合同一行中的所有标题。现在,当我呈现数据时,它不会转到下一行,所有这些都在一行中。如何解决这个问题?您可以在这里勾选https://codesandbox.io/s/goofy-easley-w5rrg
const TableWrapperUI = styled.div`
  display: grid;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid black;
  grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
  justify-items: center;
  grid-gap: 5px;
  padding: 5px;
`;
const Table = ({ columns, children, titles,data }) => {
  const [collapseElements, setCollapse] = useState({});
  const displayData=(data)=>{
    for (let i = 0; i < data.length; i++) {
      return Object.keys(data[i]).map((value,ids)=>{
        return <span key={ids}>{data[i][value]} </span>
     })
    }
  }
  const displayTitles = titles => {
    return titles.map((title, idx) => {
      return <span key={idx}>{title}</span>;
    });
  };
  return (
    <TableWrapperUI columns={columns}>{displayTitles(titles)} {displayData(data)}</TableWrapperUI>
  );
};
推荐答案
您可以使用TABLE标记来正确格式化数据。
import React, { Fragment, useState } from "react";
import styled, { css } from "styled-components";
const TableWrapperUI = styled.div`
  display: grid;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid black;
  grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
  justify-items: center;
  grid-gap: 5px;
  padding: 5px;
`;
const Table = ({ columns, children, titles, data }) => {
  const [collapseElements, setCollapse] = useState({});
  const displayData = data => {
    for (let i = 0; i < data.length; i++) {
      return Object.keys(data[i]).map((value, ids) => {
        return <td key={ids}>{data[i][value]} </td>;
      });
    }
  };
  const displayTitles = titles => {
    return titles.map((title, idx) => {
      return <th key={idx}>{title}</th>;
    });
  };
  return (
    <>
      <TableWrapperUI columns={columns}>
        <table>
          <thead>
            <tr>{displayTitles(titles)}</tr>
          </thead>
          <tbody>
            <tr>{displayData(data)}</tr>
          </tbody>
        </table>
      </TableWrapperUI>
    </>
  );
};
export default Table;
                        这篇关于Css网格不能在下一行显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:Css网格不能在下一行显示数据
				
        
 
            
        
             猜你喜欢
        
	     - addEventListener 在 IE 11 中不起作用 2022-01-01
 - CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
 - Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
 - Fetch API 如何获取响应体? 2022-01-01
 - Flexslider 箭头未正确显示 2022-01-01
 - 400或500级别的HTTP响应 2022-01-01
 - 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
 - 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
 - 失败的 Canvas 360 jquery 插件 2022-01-01
 - Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
 
						
						
						
						
						