2017-10-17 52 views
0

我想的onblur使用下面的指令格式的输入元素离子格式输入元素的onblur

@Directive({ 
    selector: '[formatnumbercomma]' // Attribute selector 
}) 
export class FormatNumberCommaDirective { 

    private e1: HTMLInputElement; 
    numberPipe = new DecimalPipe('en-US'); 

    constructor(private elementRef: ElementRef) { 
    this.e1 = this.elementRef.nativeElement; 
    } 

    @HostListener("blur", ["$event.target.value"]) 
    onBlur(value) { 
    this.e1.value = this.numberPipe.transform(value, '.0-0'); 
    } 
} 

的HTML如下:

<ion-input class="input-panel-2" 
      type="number" 
      name="a" 
      required 
      formatnumbercomma 
      [(ngModel)]="amount" 
      (ngModelChange)="computeX($event)" 
      #pVar="ngModel"> 
</ion-input> 

的问题是输入值不被更新为格式化的值。

感谢您的帮助,

阿什利

回答

0

尝试使用来自离子输入为输入失去焦点,这将立即启用本地事件。

<ion-input type="text" formControlName="name" (focusout)="onBlur()"></ion-input> 

在折角,

onBlur(){ 
    alert("input lost focus"); 
} 
0

这为我工作。

<ion-input type="text" (ionBlur)="onBlur()">