pull/1/head
parent
07be5d5e0d
commit
9c58fb5f1f
8 changed files with 55 additions and 39 deletions
@ -1,18 +1,28 @@ |
|||||||
import Vue from "vue"; |
import Vue from "vue"; |
||||||
|
|
||||||
|
const handle = (e, vNode) => { |
||||||
|
let val = e.target.value; |
||||||
|
let qualifiedNum = val |
||||||
|
.replace(/[^\d.]/g, "") |
||||||
|
.replace(/^\./g, "") |
||||||
|
.replace(/\.{2,}/g, ".") |
||||||
|
.replace(/^0{2,}/g, "0") |
||||||
|
.replace(".", "$#$") |
||||||
|
.replace(/\./g, "") |
||||||
|
.replace("$#$", "."); |
||||||
|
vNode.componentInstance.$emit("input", qualifiedNum); |
||||||
|
}; |
||||||
|
|
||||||
Vue.directive("checkNum", { |
Vue.directive("checkNum", { |
||||||
update(el, binding, vNode) { |
bind(el, binding, vNode) { |
||||||
if (el.children.length) { |
if (!el.children.length) { |
||||||
let val = el.children[0].value; |
return; |
||||||
let qualifiedNum = val |
|
||||||
.replace(/[^\d.]/g, "") |
|
||||||
.replace(/^\./g, "") |
|
||||||
.replace(/\.{2,}/g, ".") |
|
||||||
.replace(/^0{2,}/g, "0") |
|
||||||
.replace(".", "$#$") |
|
||||||
.replace(/\./g, "") |
|
||||||
.replace("$#$", "."); |
|
||||||
vNode.componentInstance.$emit("input", qualifiedNum); |
|
||||||
} |
} |
||||||
|
el.children[0].addEventListener("keyup", (e) => { |
||||||
|
handle(e, vNode); |
||||||
|
}); |
||||||
|
}, |
||||||
|
unbind(el) { |
||||||
|
el.children[0].removeEventListener("keyup"); |
||||||
}, |
}, |
||||||
}); |
}); |
||||||
|
Loading…
Reference in new issue