fix(forms): normalize written value in NumberValueAccessor
Closes #10379
This commit is contained in:
		
							parent
							
								
									763ca60f5b
								
							
						
					
					
						commit
						b48f7bcb8d
					
				| @ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| import {Directive, ElementRef, Renderer, forwardRef} from '@angular/core'; | import {Directive, ElementRef, Renderer, forwardRef} from '@angular/core'; | ||||||
| 
 | 
 | ||||||
| import {NumberWrapper} from '../../facade/lang'; | import {NumberWrapper, isBlank} from '../../facade/lang'; | ||||||
| 
 | 
 | ||||||
| import {ControlValueAccessor, NG_VALUE_ACCESSOR} from './control_value_accessor'; | import {ControlValueAccessor, NG_VALUE_ACCESSOR} from './control_value_accessor'; | ||||||
| 
 | 
 | ||||||
| @ -44,7 +44,9 @@ export class NumberValueAccessor implements ControlValueAccessor { | |||||||
|   constructor(private _renderer: Renderer, private _elementRef: ElementRef) {} |   constructor(private _renderer: Renderer, private _elementRef: ElementRef) {} | ||||||
| 
 | 
 | ||||||
|   writeValue(value: number): void { |   writeValue(value: number): void { | ||||||
|     this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', value); |     // The value needs to be normalized for IE9, otherwise it is set to 'null' when null
 | ||||||
|  |     const normalizedValue = isBlank(value) ? '' : value; | ||||||
|  |     this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   registerOnChange(fn: (_: number) => void): void { |   registerOnChange(fn: (_: number) => void): void { | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| import {Directive, ElementRef, Renderer, forwardRef} from '@angular/core'; | import {Directive, ElementRef, Renderer, forwardRef} from '@angular/core'; | ||||||
| 
 | 
 | ||||||
| import {NumberWrapper} from '../facade/lang'; | import {NumberWrapper, isBlank} from '../facade/lang'; | ||||||
| 
 | 
 | ||||||
| import {ControlValueAccessor, NG_VALUE_ACCESSOR} from './control_value_accessor'; | import {ControlValueAccessor, NG_VALUE_ACCESSOR} from './control_value_accessor'; | ||||||
| 
 | 
 | ||||||
| @ -44,7 +44,9 @@ export class NumberValueAccessor implements ControlValueAccessor { | |||||||
|   constructor(private _renderer: Renderer, private _elementRef: ElementRef) {} |   constructor(private _renderer: Renderer, private _elementRef: ElementRef) {} | ||||||
| 
 | 
 | ||||||
|   writeValue(value: number): void { |   writeValue(value: number): void { | ||||||
|     this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', value); |     // The value needs to be normalized for IE9, otherwise it is set to 'null' when null
 | ||||||
|  |     const normalizedValue = isBlank(value) ? '' : value; | ||||||
|  |     this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   registerOnChange(fn: (_: number) => void): void { |   registerOnChange(fn: (_: number) => void): void { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user