pull/1/head
parent
07be5d5e0d
commit
9c58fb5f1f
8 changed files with 55 additions and 39 deletions
@ -1,18 +1,28 @@ |
||||
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", { |
||||
update(el, binding, vNode) { |
||||
if (el.children.length) { |
||||
let val = el.children[0].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); |
||||
bind(el, binding, vNode) { |
||||
if (!el.children.length) { |
||||
return; |
||||
} |
||||
el.children[0].addEventListener("keyup", (e) => { |
||||
handle(e, vNode); |
||||
}); |
||||
}, |
||||
unbind(el) { |
||||
el.children[0].removeEventListener("keyup"); |
||||
}, |
||||
}); |
||||
|
Loading…
Reference in new issue