最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue指令只能輸入正數(shù)并且只能輸入一個小數(shù)點的方法

 更新時間:2018年06月08日 09:04:57   作者:冰格兒  
這篇文章主要介紹了vue指令只能輸入正數(shù)并且只能輸入一個小數(shù)點的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近在做一個金額查詢,驗證的時候總是出現(xiàn)很多問題,如輸入-號后,input框里是沒有了,但是在model里還是綁定了,提交的時候就會報錯,真的是讓人很是郁悶,小數(shù)點也是input框過濾掉了,但是提交的時候也會出現(xiàn)。不過經(jīng)過努力終于找到了一種解決方案,在這里``和大家分享一下下。

Vue.directive('numbers', {
 bind: function (el, binding) {
  console.log('ere')
 },
 inserted: function (el) {
  // el.querySelector('input').blur(console.log('etset'))
 },
 update: function (el, binding, vnode, oldVnode) {
  console.log('vnode', vnode)
  let express = vnode.data.directives[1].expression
  // let value = el.querySelector('input').value
  let value = vnode.data.directives[1].value
  if (typeof value === 'string') {} //在重置的時候清空
  if (value.split('.').length - 1 > 1) {
   value = value.replace(/\.{2,}/g, '') // 只保留第一個. 清除多余的
   value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
  }
  let repeatValue = value.replace(/[^\d.]/g, '')
  // setTimeout(() => {
  //  el.querySelector('input').value = repeatValue
  // }, 5)
  setValueWithExpressionVue(vnode.context.$data, express, repeatValue)
 },
 componentUpdated: function () {},
 unbind: function (el) {}
})

// 
function setValueWithExpressionVue (currObj, expression, value) {
 expression = expression.split('.')
 expression.forEach(function (arg, i) {
  if (i < expression.length - 1) {
   currObj = currObj[arg]
  } else {
   currObj[arg] = value
  }
 })
}

放到main.js里就好了

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

郯城县| 山阴县| 时尚| 锡林浩特市| 两当县| 广州市| 巴马| 天峨县| 许昌县| 和静县| 且末县| 扶绥县| 宝应县| 鲜城| 海安县| 镇安县| 罗平县| 安徽省| 晋江市| 苍南县| 沂南县| 鄂温| 阳山县| 平凉市| 柞水县| 万载县| 高淳县| 晋江市| 宁波市| 比如县| 绵竹市| 察隅县| 广灵县| 仁寿县| 杭锦后旗| 平邑县| 武清区| 牟定县| 织金县| 定西市| 保靖县|