PrimeNG:DynamicDialog 的自定义标头

use*_*344 7 primeng primeng-dialog

有没有办法为动态对话框定义自定义标题模板?

对于普通对话框,您可以使用自定义 html 代码定义 p-header 标记。

但我没有找到任何方法来为动态对话框执行此操作。

San*_*hav 2

PrimeNG 文档中没有提到将自定义模板添加到 DynamicDialog 标头的官方方法。当我们打开 DynamicDialog 时,我们只附加对话框的主体,而不附加页眉/页脚。

您可以在打开 DynamicDialog 时向其添加动态标题。希望这会有所帮助。

const ref = this.dialogService.open(DialogComponent, {
  data: this.data,
  header: this.title,
  width: '60%'
});
Run Code Online (Sandbox Code Playgroud)

您可以修改 DynamicDialog 标头的 css,如下所示:

::ng-deep .p-dialog .p-dialog-header {
  border-bottom: 1px solid #000;
}
Run Code Online (Sandbox Code Playgroud)

重要提示:您可以在 PrimeNG 中使用简单的对话框,您可以在其中创建自定义页眉、正文和页脚。它的工作方式与 DynamicDialog 相同。请像下面这样提及 modal=true :

<p-dialog [(visible)]="display" [modal]="true">
<p-header>
    Header content here
</p-header>
Content
<p-footer>
    //buttons
</p-footer>
Run Code Online (Sandbox Code Playgroud)

  • 使用 p-dialog 非常“不”相同。内容(以及任何子组件)随父组件一起初始化(并且只是隐藏),而不是在对话框打开时初始化。如果子组件正在执行任何繁重的工作、API 调用等,这可能会对性能产生巨大的影响。 (3认同)