import React from 'react'; import { isElement } from 'react-dom/test-utils'; import { ColumnsProps } from './types'; class Columns extends React.Component { constructor(props) { super(props); } customRender(opts, data, idx): boolean { const { key, render } = opts; let result = false; if (isElement(render) || typeof render === 'string') { result = render; } else if (typeof render === 'function') { result = render(data[key], data, idx); } return result; } render(): React.ReactElement { const { item, index, columnOpt, sorting, columns, type, edit } = this.props; return
  • { columns.map((column) => { return ( { this.customRender(column, item, index) || item[column.key] } ); }) }
  • ; } } export default Columns;