2
0
mirror of https://github.com/tenrok/maska.git synced 2026-05-15 11:59:38 +03:00

fix: check input value on every update

For better handling value change without directive, like vanilla case
This commit is contained in:
Alexander Shabunevich
2024-03-30 15:08:44 +03:00
parent 816c49c466
commit 00f7caede8
2 changed files with 9 additions and 12 deletions
+5 -6
View File
@@ -42,13 +42,12 @@ export const vMaska: MaskaDirective = (el, binding) => {
}
let mask = masks.get(input)
if (!mask) {
if (mask) {
mask.update(opts)
} else {
mask = new MaskInput(input, opts)
masks.set(input, mask)
} else {
mask.update(opts)
// delay for possible v-model change
setTimeout(() => mask?.checkValue(input))
}
// delay init to wait for v-model value
setTimeout(() => mask?.checkValue(input))
}
+4 -6
View File
@@ -43,15 +43,13 @@ export class MaskInput {
private init(inputs: HTMLInputElement[], defaults: MaskOptions): void {
for (const input of inputs) {
const inited = this.items.has(input)
this.items.set(input, new Mask(parseInput(input, defaults)))
if (!inited) {
if (!this.items.has(input)) {
input.addEventListener('input', this.inputEvent)
input.addEventListener('beforeinput', this.beforeinputEvent)
this.checkValue(input)
}
this.items.set(input, new Mask(parseInput(input, defaults)))
this.checkValue(input)
}
}