首页 > 解决方案 > 如何在 React js 中的表格网格中显示键值对?

问题描述

我正在尝试在反应 js 中显示键值对,

但不知何故我无法正确显示它们。我创建了一个表格小部件,但没有得到正确的显示

我的表小部件

import React from "react";

function Table(props) {
  const { tablevalue } = props;

  console.log(tablevalue);

  return (
    <div className="table">
      <table className="table table-hover">
        <tbody>
          {tablevalue.map((item, value) =>
            Object.entries(item, (key, value) => {
              return (
                <tr className="table-row">
                  <th scope="col" key={`tablevalue-${key}`}>
                    {key}
                  </th>
                  <td key={`tablevalue-${value}`}>{value}</td>
                </tr>
              );
            })
          )}
        </tbody>
      </table>
    </div>
  );
}

export default Table;

应用程序.js

import React, { Fragment } from "react";

import Dropdown from './components/widgets/Dropdown/index'
import Table from './components/widgets/Table/index'

function DropdownTest() {
  return (
      <h3>
        <b>Profit</b>
      </h3>
      <br />
        <Table 
        tablevalue = {[{key:'Binance' , value: 'Polonix'}, {key:'Profit' , value:'Loss'}]}
        />
      </div>

  );
}
export default DropdownTest;

我的输出

而我希望我的输出以表格形式显示

标签: javascriptreactjshtml-tablewidgetkeyvaluepair

解决方案


您可以使用表头

  <tbody>
    <tr>
      <th>Key</th>
      <th>Value</th>
    </tr>
    {tablevalue.map(({ key, value }) => (
      <tr className="table-row">
        <td key={`tablevalue-${key}`}>{key}</td>
        <td key={`tablevalue-${value}`}>{value}</td>
      </tr>
    ))}
  </tbody>

代码

const Table = ({ tablevalue }) => (
  <div className="table">
    <table className="table table-hover">
      <tbody>
        <tr>
          <th>Key</th>
          <th>Value</th>
        </tr>
        {tablevalue.map(({ key, value }) => (
          <tr className="table-row">
            <td key={`tablevalue-${key}`}>{key}</td>
            <td key={`tablevalue-${value}`}>{value}</td>
          </tr>
        ))}
      </tbody>
    </table>
  </div>
);

const DropdownTest = () => (
  <div>
    <h3>
      <b>Profit</b>
    </h3>
    <br />
    <Table
      tablevalue={[
        { key: "Binance", value: "Polonix" },
        { key: "Profit", value: "Loss" }
      ]}
    />
  </div>
);

ReactDOM.render(
  <React.StrictMode>
    <DropdownTest />
  </React.StrictMode>,
  document.getElementById("root")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>


推荐阅读