reactjs - 在 Material-Table 渲染属性中使用函数

标签 reactjs material-ui material-table

我需要在 Material-Table 列渲染属性中使用自定义函数。 该函数被调用,我在控制台上打印了预期的结果,但是,结果根本不会在表中呈现。 这是代码:

import React from 'react';
import HraReferenceDataContext from '../context/hraReferenceData/hraReferenceDataContext';
import MaterialTable from 'material-table';

const EmployeeDetailsCompanyDocuments = ({ companyDocumentsData }) => {
    const hraReferenceDataContext = React.useContext(HraReferenceDataContext);
    const { companyDocumentTypes } = hraReferenceDataContext;

    const getDocumentTypeForRow = id => {
        companyDocumentTypes.forEach(type => {
            if (type.id === id) {
                console.log(type.name)
                return type.name;
            }
        });
    };

    const columnInfo = [
        {
            field: 'typeId',
            title: 'Type',
            render: rowData =>{ getDocumentTypeForRow(rowData.typeId)}, //here is the problem
        },
        { field: 'created', title: 'Created On' },

    ];

    return (
              <MaterialTable
                 columns={columnInfo}
                 data={companyDocumentsData}
                 title="Company Documents List"
               />   
    );
};

最佳答案

forEach 内部返回不起作用。

更改此功能

const getDocumentTypeForRow = id => {
        companyDocumentTypes.forEach(type => {
            if (type.id === id) {
                console.log(type.name)
                return type.name;
            }
        });
    };

const getDocumentTypeForRow = id => {
  return companyDocumentTypes.find(type => type.id === id).name;
};

更新

改变

render: rowData =>{ getDocumentTypeForRow(rowData.typeId)},

render: rowData => getDocumentTypeForRow(rowData.typeId),

因为您应该返回从 getDocumentTypeForRow 返回的值。

关于reactjs - 在 Material-Table 渲染属性中使用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61287868/

相关文章:

reactjs - react Hook 。无法对已卸载的组件执行 React 状态更新

javascript - React + Material UI - 在组件中覆盖 MuiTheme withStyles

reactjs - React Material Table - 添加行时的新字段

reactjs - 选择未被调用的 renderValue 函数 [ReactJS/Material-UI]

javascript - Webpack - 将应用程序部署到不同的环境

javascript - React Hooks 中用于传递参数的单击事件的语法是什么

reactjs - 如何在 Jest 单元测试中设置 Prop

javascript - 将鼠标悬停在按钮上时如何打开 material-ui 菜单

javascript - 使用reactjs创建表时如何删除行中的重复数据条目

javascript - "material-table"- 如何在每页添加更多行并修复渲染 - ReactJs