index.tsx 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * @Author: your name
  3. * @Date: 2022-03-09 10:08:00
  4. * @LastEditTime: 2022-03-09 14:13:03
  5. * @LastEditors: your name
  6. * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  7. * @FilePath: /MedicalWisdomCheckSys/src/components/MccsTable/index.tsx
  8. */
  9. import React,{useImperativeHandle,useRef} from 'react'
  10. import ProTable, { } from '@ant-design/pro-table';
  11. import type { ActionType } from '@ant-design/pro-table';
  12. import type { ProFormInstance } from '@ant-design/pro-form';
  13. import './index.less';
  14. const MccsTable=React.forwardRef<MccsTable.MccsTableRef,MccsTable.MccsTable>((props,ref)=>{
  15. const {columns=[],serach,request,searchNode,...rest} = props;
  16. const formRef = useRef<ProFormInstance>();
  17. const tableRef =useRef<ActionType>();
  18. const processColumns = (colums:MccsTable.Columns[])=>{
  19. return colums.map((item,index)=>{
  20. return {
  21. ...item,
  22. // ellipsis:true
  23. }
  24. })
  25. }
  26. useImperativeHandle(ref,()=>{
  27. // getFormRef 就是暴露给父组件的方法
  28. const getFormRef = ()=>{
  29. return formRef;
  30. }
  31. const getTableRef = ()=>{
  32. return tableRef;
  33. }
  34. return {getFormRef,getTableRef}
  35. });
  36. return (
  37. <React.Fragment >
  38. <div className='container'>
  39. <ProTable
  40. columns={processColumns(columns)}
  41. toolBarRender={false}
  42. formRef={formRef}
  43. actionRef={tableRef}
  44. request={request}
  45. pagination={{ defaultPageSize: 10 }}
  46. {...rest}
  47. />
  48. </div>
  49. </React.Fragment>
  50. )
  51. })
  52. export default MccsTable