पर एक कस्टम निर्देश के अंदर मुझे लगता है कि केवल संख्या को स्वीकार करता है एक कस्टम निर्देश दिया है। जब मैं 1.2 इनपुट करता हूं, तो यह अच्छा होता है। लेकिन जब मैं केवल 1 टाइप करता हूं। मैं धुंधला पर इनपुट 1 मिटा देना चाहता हूं। मैंने onBlur
के अंदर मूल्य को खाली स्ट्रिंग पर सेट करने के तरीके पर कई तरीकों का प्रयास किया है लेकिन अभी भी कोई भाग्य नहीं है। यहां कोड स्निपेट है:कोणीय 2 - अद्यतन ngModel @HostListener ('कलंक')
@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 मान को खाली स्ट्रिंग पर सेट करना चाहता हूं। मैं धुंध के अंदर ऐसा कैसे कर सकता हूं?
धन्यवाद!
मैं नहीं बल्कि 'this.ngModelChange.emit ('$ घटना) के साथ जाना चाहते हैं,' मेरा उत्तर में के रूप में। dispatchEvent काम कर सकता है, हालांकि यह परीक्षण कोड का हिस्सा है, इस प्रकार मैं इसे संभालने के लिए उचित तरीका ngModelChange पर विचार करें। – Manuel