Angular 如何正确使用<;输入类型=";日期“&燃气轮机;有棱角的?
我有一个输入控件,如下所示:Angular 如何正确使用<;输入类型=";日期“&燃气轮机;有棱角的?,angular,Angular,我有一个输入控件,如下所示: 当我使用键盘键入日期时,它会重置为dd/MM/yyyy。老鼠很好用。有什么建议吗?中有一整篇关于它的文章 解决方案是为日期输入控件实现一个新的值访问器: //date-value-accessor.ts 从“@angular/core”导入{Directive,ElementRef,HostListener,Renderer,forwardRef}; 从'@angular/forms'导入{ControlValueAccessor,NG_VALUE_ACCESS
当我使用键盘键入日期时,它会重置为
dd/MM/yyyy
。老鼠很好用。有什么建议吗?中有一整篇关于它的文章
解决方案是为日期输入控件实现一个新的值访问器:
//date-value-accessor.ts
从“@angular/core”导入{Directive,ElementRef,HostListener,Renderer,forwardRef};
从'@angular/forms'导入{ControlValueAccessor,NG_VALUE_ACCESSOR};
导出常量日期\值\访问器:任意={
提供:NG_值访问器,
useExisting:forwardRef(()=>DateValueAccessor),
多:真的
};
/**
*用于写入值和侦听日期输入元素更改的访问器
*
*####示例
* ``
*/
@指示({
选择器:“[useValueAsDate]”,
提供者:[日期\值\访问者]
})
导出类DateValueAccessor实现ControlValueAccessor{
@HostListener('input',['$event.target.valueAsDate'])onChange=(\uOx:any)=>{};
@HostListener('blur',[])onTouched=()=>{};
构造函数(private _renderer:renderer,private _elementRef:elementRef){}
writeValue(值:日期):无效{
this._renderer.setElementProperty(this._elementRef.nativeElement,'valueAsDate',value);
}
registerChange(fn:(:any)=>void):void{this.onChange=fn;}
registerOnTouched(fn:()=>void):void{this.onTouched=fn;}
setDisabledState(isDisabled:boolean):无效{
this._renderer.setElementProperty(this._elementRef.nativeElement,'disabled',isDisabled);
}
}