изменение размера ngx-datatable при изменении размера окна - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть хорошая рабочая версия полноэкранного ngx-datatable, которая заполняет необходимое мне пространство с помощью следующего кода. Тем не менее, я боюсь, что это очень неэффективно, и нужно, чтобы он был очень производительным, чтобы сделать UX красивым и четким.

  ngOnInit() {
    this.resizeObservable$ = fromEvent(window, 'resize')
    this.resizeSubscription$ = this.resizeObservable$.subscribe(evt => {
      console.log('event: ', evt)
      this.getAndSetHeight();
    })
  }

  ngAfterViewInit() {
    this.getAndSetHeight();
  }

  getAndSetHeight() {
    const mainElement = document.querySelector('#mainElement') as HTMLElement
    const titleElement = document.querySelector('#titleElement') as HTMLElement;
    const mainHeight = mainElement.offsetHeight
    const titleHeight = titleElement.offsetHeight
    document.querySelector('.ngx-datatable').setAttribute("style", `height:${mainHeight - titleHeight - 150}px`);
    document.querySelector('.datatable-scroll').setAttribute("style", `height:${mainHeight - titleHeight - 100}px`);
  }

Как я могу очистить этот код, чтобы сделать его намного более эффективным?

Большое спасибо заранее.

...