2
0
mirror of https://github.com/tenrok/maska.git synced 2026-06-08 17:22:27 +03:00

Added reactivity to vue mask

This commit is contained in:
Alexander Shabunevich
2020-02-01 17:00:03 +03:00
parent a969eb4942
commit d3a7c0eee9
4 changed files with 21 additions and 11 deletions
+5 -9
View File
@@ -15,15 +15,11 @@ function getOpts (mask) {
}
function needUpdate (mask) {
if (isString(mask.value) && isString(mask.oldValue) && mask.value === mask.oldValue) {
return false
}
if (mask.value && mask.oldValue && mask.value.mask === mask.oldValue.mask) {
return false
}
return true
return !(
(isString(mask.value) && mask.value === mask.oldValue) ||
(Array.isArray(mask.value) && JSON.stringify(mask.value) === JSON.stringify(mask.oldValue)) ||
(mask.value && mask.value.mask && mask.oldValue && mask.oldValue.mask && mask.value.mask === mask.oldValue.mask)
)
}
export default function directive (el, mask) {
+1 -1
View File
@@ -27,7 +27,7 @@ export default class Maska {
init () {
for (let i = 0; i < this._el.length; i++) {
const el = findInputElement(this._el[i])
if (!el.dataset.mask && this._opts.mask) {
if ((!el.dataset.mask && this._opts.mask) || el.dataset.mask !== this._opts.mask) {
el.dataset.mask = this._opts.mask
}
this.updateValue(el)