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

时间:2016-06-15 18:21:02

标签: angular primeng

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

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

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

  • 启动对话框
  • 在对话框中输入Led Zeppelin
  • 关闭对话框
  • 重新打开对话框

现在输入仍然填充了Led Zeppelin

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

1 个答案:

答案 0 :(得分:1)

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

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

,您的输入如下:

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

newName=''string类型的变量,您在显示对话框之前要清除它,而pInputTextprimeng指令:link

无论您是否使用按钮触发对话,我都认为您有这个想法。