从代码primeng Angular 5动态设置掩码

时间:2018-03-06 06:40:20

标签: angular primeng

想要重复使用输入字段,但是相对于表单上的其他值更改掩码(例如,从p-dropdown选择框中选择的值,如果选择的值是“Mobile”,则应用手机掩码,如果是电子邮件,则应用电子邮件掩码)。我试图用代码belove实现这一点,但它无法正常工作。

<p-inputMask formControlName="communicationType" mask="{{communicationTypeMask}}"></p-inputMask>

任何想法,如果这是可能的或要调用的事件让它识别掩码更改?

1 个答案:

答案 0 :(得分:1)

您可以使用onChange中的p-dropdown个事件来更新p-inputMask的掩码。

<p-dropdown [options]="communications" [(ngModel)]="communication" (onChange)="changeMask()"></p-dropdown>

这是TS代码:

   changeMask() {
     if(this.communication==="mobile") {
       this.communicationTypeMask = "99 99 99 99 99";
     } else if(this.communication==="mail") {
       this.communicationTypeMask = "**********@*****.**";
     } else {
       this.communicationTypeMask = "";
     }
   }

(不关心我写的面具,他们错了,但不是重点)

请参阅Plunker