TableChart.jsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * Created by hujs on 2020/11/11
  3. * Desc: GridTable
  4. */
  5. import React, { Component } from 'react'
  6. import { Table } from 'antd'
  7. export default class TableChart extends Component {
  8. constructor () {
  9. super()
  10. this.state = {}
  11. }
  12. componentDidMount () {
  13. }
  14. componentWillUnmount () {
  15. }
  16. render () {
  17. let { chartData } = this.props
  18. let { data, formulaDets, title, valueDisp, keyDisp } = chartData
  19. let obj = this.formatData(data, formulaDets)
  20. let columns = obj.columns
  21. data = obj.data
  22. return (
  23. <div className='table-charts' style={{ width: '100%', overflowY: 'auto' }}>
  24. <Table
  25. scroll={{ x: '100%' }}
  26. style={{ height: '320px' }}
  27. title={() => title}
  28. pagination={false}
  29. bordered={true}
  30. columns={columns}
  31. dataSource={data}
  32. size="small"
  33. tableLayout='fixed'
  34. />
  35. </div>
  36. )
  37. }
  38. formatData = (data, formulaDets) => {
  39. let columns = formulaDets.map(item => ({
  40. title: item.description_,
  41. dataIndex: item.field_,
  42. key: item.field_,
  43. width: item.width_,
  44. }))
  45. data = data.map(function (item, index, arr) {
  46. item.key = index
  47. return item
  48. })
  49. let obj = {
  50. data: data,
  51. columns: columns,
  52. }
  53. return obj
  54. }
  55. }