import React, { useMemo } from 'react'; import ModalTable, { ModalTableProps } from '../ModalTable/ModalTable'; import { useModel } from './../../use'; interface MaterialProps extends ModalTableProps { } function Material(props: MaterialProps) { const [materialColumns] = useModel('/bk/api/material/Material/getModel', ['modalMaterialTable']); const table = useMemo(() => { const columns = props.table.columns || materialColumns; return { ...props.table, columns, width: columns.reduce((next, cur) => { next += (cur.width as number) || 150; return next }, 0) } }, [props, materialColumns]); return ( {...props} {...table} /> ) } export default Material;