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
- 关闭对话框
- 重新打开对话框
现在输入仍然填充 Led Zeppelin
。
我知道正在使用相同的输入实例,但这不是我想要的行为。我希望对话框每次启动时都使用新的输入。这样做的正确方法是什么?解决此问题的一种方法是使用 onBeforeShow
重置输入。
没有必要附加到特定的生命周期挂钩。我假设您正在使用一个按钮来显示对话框,您可以在该按钮上附加一个方法或一个 javascript
句子,如下所示:
<button pButton type="button" (click)="newName='';displayDialog();"></button>
您的输入如下:
<input id="myId" type="text" pInputText [(ngModel)]="newName"/>
其中 newName=''
是您在显示对话框之前清理的类型 string
的变量,pInputText
是 primeng
指令:link
不管你是不是使用按钮来触发对话框,我想你已经明白了。
我在 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
重置输入。
没有必要附加到特定的生命周期挂钩。我假设您正在使用一个按钮来显示对话框,您可以在该按钮上附加一个方法或一个 javascript
句子,如下所示:
<button pButton type="button" (click)="newName='';displayDialog();"></button>
您的输入如下:
<input id="myId" type="text" pInputText [(ngModel)]="newName"/>
其中 newName=''
是您在显示对话框之前清理的类型 string
的变量,pInputText
是 primeng
指令:link
不管你是不是使用按钮来触发对话框,我想你已经明白了。