PrimeNg:显示对话框时如何在对话框中创建项目的新实例

PrimeNg: How to create a new instance of the items in a dialog when the dialog is shown

我在 Angular2 应用程序中使用 primeNg 对话框,如下所示:

<p-dialog 
    header="Dialog" 
    [(visible)]="display"
    [modal]=true
    [closable]=true
    [resizable]=false
    [width]=500
    >
        <input type="text"/>
    </p-dialog>

现在假设我执行以下操作:

现在输入仍然填充 Led Zeppelin

我知道正在使用相同的输入实例,但这不是我想要的行为。我希望对话框每次启动时都使用新的输入。这样做的正确方法是什么?解决此问题的一种方法是使用 onBeforeShow 重置输入。

没有必要附加到特定的生命周期挂钩。我假设您正在使用一个按钮来显示对话框,您可以在该按钮上附加一个方法或一个 javascript 句子,如下所示:

<button pButton type="button" (click)="newName='';displayDialog();"></button>

您的输入如下:

<input id="myId" type="text" pInputText [(ngModel)]="newName"/>

其中 newName='' 是您在显示对话框之前清理的类型 string 的变量,pInputTextprimeng 指令:link

不管你是不是使用按钮来触发对话框,我想你已经明白了。