1

我在 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重置输入。

4

1 回答 1

1

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

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

你的输入看起来像:

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

where是在显示对话框之前要清理newName=''的类型变量,并且是指令:linkstringpInputTextprimeng

无论您是否不使用按钮来触发对话框,我想您都明白了。

于 2016-06-26T20:08:26.557 回答