2016-06-15 5 views
1

내가 Angular2 응용 프로그램에서 primeNg 대화 상자를 사용하고이 표시 될 때 대화 상자에있는 항목의 새로운 인스턴스를 만드는 방법 :PrimeNg : 대화 상자가 다음과 같이

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

내가 할 것을 다음과 같이 가정 : 대화 상자

    • 실행 대화
    • 유형 Led Zeppelin 대화
    • R을 닫습니다 대화 상자를 엽니 다.

    이제 입력은 여전히 ​​Led Zeppelin으로 채워집니다.

    입력의 동일한 인스턴스가 사용되고 있음을 이해하지만 이것은 내가 원하는 행동이 아닙니다. 대화 상자를 시작할 때마다 새 입력을 사용하고 싶습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까? 이 문제에 접근하는 한 가지 방법은 onBeforeShow을 사용하여 입력을 재설정하는 것입니다.

  • 답변

    1

    특정 라이프 사이클 후크에 부착 할 필요는 없습니다. 나는 당신이이 같은 방법 또는 javascript 문장 연결할 수있는 버튼에, 대화 상자를 표시하는 버튼을 사용한다고 가정 :

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

    을하고 입력과 같이 보인다 :

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

    경우 newName='' 대화 상자를 표시하기 전에 청소하고있는 string 유형의 변수이고

    지시문이 pInputText 인 경우 단추를 사용하여 대화 상자를 트리거하지 않으면, 당신은 생각을 가지고 있다고 생각합니다.