在 angular-imask 中,我如何获得 IMask class?
In angular-imask how do I get the IMask class?
使用 Angular-IMask,我正在以编程方式更新具有 IMask 的字段。所以我得到了错误:
“元素值已在掩码之外更改。使用 mask.updateValue() 同步掩码以正常工作。”
我以编程方式更改输入,因为我有一个与之关联的日期选择器(来自 Angular-Bootstrap ng-bootstrap 模块的 NgbDatepicker 组件)。
如何获取 imask 对象以便调用 updateValue() ?我只在模板上设置组件,所以组件中没有任何我可以访问的对象。
除了访问 IMask 对象之外,还有其他方法可以删除该消息吗?如果有请告诉我。
您可以为此组件使用 ViewChild 或使用 Angular LifeCycle 中的 ngOnChanges 并过滤此引用更改以获取当前对象。
您可以通过使用 ViewChild
属性 装饰器查询 imask 指令来获取 IMask 实例,然后您可以通过 maskRef
属性.
即
@Component({
template: `
<input type="text"
[imask]="maskConfig"
>
`,
})
export class MyMaskComponent {
maskConfig = {...}
@ViewChild(IMaskDirective, { static: false })
iMask: IMaskDirective<IMask.MaskedNumber>;
ngAfterViewInit(): void {
this.iMask.maskRef.updateValue();
}
}
使用 Angular-IMask,我正在以编程方式更新具有 IMask 的字段。所以我得到了错误:
“元素值已在掩码之外更改。使用 mask.updateValue() 同步掩码以正常工作。”
我以编程方式更改输入,因为我有一个与之关联的日期选择器(来自 Angular-Bootstrap ng-bootstrap 模块的 NgbDatepicker 组件)。
如何获取 imask 对象以便调用 updateValue() ?我只在模板上设置组件,所以组件中没有任何我可以访问的对象。
除了访问 IMask 对象之外,还有其他方法可以删除该消息吗?如果有请告诉我。
您可以为此组件使用 ViewChild 或使用 Angular LifeCycle 中的 ngOnChanges 并过滤此引用更改以获取当前对象。
您可以通过使用 ViewChild
属性 装饰器查询 imask 指令来获取 IMask 实例,然后您可以通过 maskRef
属性.
即
@Component({
template: `
<input type="text"
[imask]="maskConfig"
>
`,
})
export class MyMaskComponent {
maskConfig = {...}
@ViewChild(IMaskDirective, { static: false })
iMask: IMaskDirective<IMask.MaskedNumber>;
ngAfterViewInit(): void {
this.iMask.maskRef.updateValue();
}
}