最近在做一个金额查询,验证的时候总是出现很多问题,如输入-号后,输入框里是没有了,但是在模型里还是绑定了,提交的时候就会报错,真的是让人很是郁闷,小数点也是输入框过滤掉了,但是提交的时候也会出现。不过经过努力终于找到了一种解决方案,在这里“和大家分享一下下。
Vue。指令(‘数字’,{ 绑定:函数(el、绑定){ console.log(之前的) }, 插入:函数(el) {//el.querySelector(“输入”).blur (console.log (etset)) }, 更新:函数(el、绑定、vnode oldVnode) { 控制台。日志(vnode, vnode) 让表达=vnode.data.directives [1] .expression//让价值=https://www.yisu.com/zixun/el.querySelector(“输入”)value 让价值=https://www.yisu.com/zixun/vnode.data.directives [1]。value 如果(typeof值==='字符串'){}//在重置的时候清空 如果(value.split (' . ')。长度- 1比;1){ 值=https://www.yisu.com/zixun/value.replace (/, {2,}/g)//只保留第一个。清除多余的 价值=https://www.yisu.com/zixun/value.replace ('。', ' $ # $ ') .replace (/\。/g,”)。替换($ # $,“。”) } 让repeatValue=https://www.yisu.com/zixun/value.replace (/(^/d)/g,”)//setTimeout(()=比;{//el.querySelector(“输入”)。值=https://www.yisu.com/zixun/repeatValue//},5) setValueWithExpressionVue (vnode.context。元数据、表达、repeatValue) }, componentUpdated:函数(){}, 解开:函数(el) {} })//函数setValueWithExpressionVue (currObj、表达式、价值){ 表达=expression.split (“。”) 表达式。forEach(函数(参数,我){ 如果我& lt;表达式。长度- 1){ currObj=currObj (arg) 其他}{ currObj (arg)=价值 } }) } >之前放到主要。js里就好了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
vue指令只能输入正数并且只能输入一个小数点的方法