【问题标题】:Map inside map value地图内的地图值
【发布时间】:2022-01-14 00:59:33
【问题描述】:

我尝试为数据数组中的每个项目只显示我需要在表格中显示的名称键。

const data = [{id: "111", name: "Danny", city: "NYC"},
              {id: "222", name: "Roni", city: "LDN}, 
              {id: "333", name: "Suzi", city: "TLV",
              {id: "444", name: "John", city: "SF"}
             ]
const config = [{fieldToShow: "name"}]


  <tbody>
  {data.map((row) => {
    return (
      <tr>
        {config.map((value) => {
          return <td>{row[value.field]}</td>;
        })}
      </tr>
    );
  })}

但它不起作用......

【问题讨论】:

    标签: javascript reactjs dictionary


    【解决方案1】:

    您的配置对象有一个键 fieldToShow

    const config = [{fieldToShow: "name"}]
    

    当您尝试在地图中获取密钥 field 时。你改变这一行:

      return <td>{row[value.field]}</td>;
    

    到这里:

      return <td>{row[value.fieldToShow]}</td>;
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      export default function Test() {
        const data = [
          { id: '111', name: 'Danny', city: 'NYC' },
          { id: '222', name: 'Roni', city: 'LDN' },
          { id: '333', name: 'Suzi', city: 'TLV' },
          { id: '444', name: 'John', city: 'SF' },
        ];
        const config = [{ fieldToShow: 'name' }];
      
        return (
          <tbody>
            {data.map((row) => (
              <tr>
                {data.map((row) => (
                  <tr>
                    {config.map((value) => (
                      <td>{row[value.fieldToShow]}</td>
                    ))}
                  </tr>
                ))}
              </tr>
            ))}
          </tbody>
        );
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        • 2012-10-22
        • 1970-01-01
        • 2020-08-28
        • 2012-04-25
        • 2019-11-10
        • 2013-05-20
        相关资源
        最近更新 更多