height.js 895 B

12345678910111213141516171819202122232425262728293031323334
  1. /**
  2. * 高度修复
  3. */
  4. export default {
  5. mounted() {
  6. this.height = this.fixHeight()
  7. window.addEventListener('resize', this.handleResize)
  8. },
  9. methods: {
  10. handleResize() {
  11. this.height = this.fixHeight()
  12. },
  13. fixHeight() {
  14. const parentEl = this.$parent.$el
  15. const parentHeight = parentEl.offsetHeight
  16. // header 高度
  17. const header = parentEl.getElementsByClassName('ibps-theme-header')
  18. let headerHeight = 0
  19. if (header && header[0]) {
  20. headerHeight = header[0].offsetHeight || 60
  21. }
  22. // tab 高度
  23. const tabs = parentEl.getElementsByClassName('ibps-multiple-page-control-group')
  24. let tabHeight = 0
  25. if (tabs && tabs[0]) {
  26. tabHeight = 40
  27. }
  28. return parentHeight - headerHeight - tabHeight
  29. }
  30. },
  31. beforeDestroy() {
  32. window.removeEventListener('resize', this.handleResize)
  33. }
  34. }