0

PrimeNG/Angular 的新手在这里。我们有一个元素,它首先作为一个相当小的窗口打开。用户可以单击链接以展开对话框。展开时,宽度向右展开,但对话框保持与首次打开时一样的位置。

我知道应该有一个 dialog center() 方法,但我不知道如何连接它。谢谢!

4

1 回答 1

0

以此为灵感,让它发挥作用:PrimeNG p-dialog positionTop

基本上,我在 ui-dialog 元素本身以及一些内部元素上设置了一个“扩展”类,然后以编程方式设置左侧位置。

private centerDialog() {
    const dialogElement = <HTMLElement>document.querySelector('.ui-dialog');

    if (!dialogElement) {
      setTimeout(() => {
        this.centerDialog();
      }, 100);
    } else {
      this.toggleExpandedClass();
      dialogElement.style.left =
        window.innerWidth / 2 - dialogElement.clientWidth / 2 + 'px';
    }
  }
于 2019-05-29T18:35:23.470 回答