【发布时间】:2017-01-02 18:43:41
【问题描述】:
我有一个只接受数字的自定义指令。当我输入1.2时,它很好。但是当我只输入 1. 我想擦除输入的 1. 模糊。我已经尝试了几种方法来将值设置为 onBlur 中的空字符串,但仍然没有运气。这是代码sn-p:
@Output() ngModelChange = new EventEmitter();
constructor(el: ElementRef, public model: NgControl){
//Instead of NgControl, I have also tried the NgModel but it did not work
this.el = el.nativeElement;
}
@HostListener('blur', ['$event']) onBlur($event){
if(isNaN(this.el.value.replace(/(,)/g, '')) || this.el.value[this.el.value.length - 1] === '.' || this.el.value[this.el.value.length - 1] === '-'){
this.el.value = '';
this.model.control.updateValue('');
this.model.viewToModelUpdate('');
this.ngModelChange.emit('');
}
}
这确实会删除输入字段中的 1.。但是当我打印出保存数据的ngModel 的值时,该值为 1
在这种情况下,我想将 ngModel 值设置为空字符串。如何在模糊中做到这一点?
谢谢!
【问题讨论】: