resizeChart.js 807 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. class ResizeChart {
  2. /**
  3. * 监听
  4. * @param {Array | Object} charts
  5. */
  6. on(charts) {
  7. window.addEventListener('resize', ()=>{
  8. if (Array.isArray(charts) && charts.length) {
  9. for (let k = 0; k < charts.length; k++) {
  10. const el = charts[k];
  11. if (el.echart) el.echart.resize()
  12. }
  13. }else{
  14. charts.resize()
  15. }
  16. })
  17. }
  18. /**
  19. * 移除监听
  20. * @param {Array | Object} charts
  21. */
  22. off(charts) {
  23. window.removeEventListener('resize', ()=>{
  24. if (Array.isArray(charts) && charts.length) {
  25. for (let k = 0; k < charts.length; k++) {
  26. const el = charts[k];
  27. if (el.echart) el.echart.dispose()
  28. }
  29. }else{
  30. charts.dispose()
  31. }
  32. })
  33. }
  34. }
  35. export default new ResizeChart()