element el-input directive数字进行控制


Posted in Javascript onOctober 11, 2018

使用自定义指令格式化el-input

背景

使用element开发的过程中遇到循环的数据只能输入数字,并且有不要小数点,有需要小数点的

使用vue directive 进行控制

element el-input directive数字进行控制

开发

页面使用方式 v-numberInt:0="item.first_fee" 0为保留几位小数

<tr v-for="(item,index) in form.valuation_rules" :key="index">  
  <td class="center" >    
   <el-input v-if="form.valuation_type==1" v-numberInt:0="item.first_fee" v-model.trim="item.first_amount"></el-input>  
   <el-input v-else v-model.trim="item.first_amount" v-numberInt:2="item.first_fee"></el-input>  
  </td>   
  <td class="center"> 
   <el-input v-model.trim="item.first_fee" v-numberInt:2="item.first_fee"></el-input>   </td>  
  <td class="center"> {{item.additional_amount}} 
  </td> 
  <td class="center">  
   <el-input v-model.trim="item.additional_fee" v-numberInt:2="item.additional_fee"></el-input>
  </td>
 </tr>

因为用的是element 的el-input ,组件input外层包着一层div所以要使用const element = el.getElementsByTagName('input')[0]获取 input对其监听失焦 当输入的不是数字时,失焦后会变成0,没有使用directive update方法,比较简单directives.js

directives.js

Vue.directive('numberInt', { bind: function(el, binding, vnode) { 
  const element = el.getElementsByTagName('input')[0] 
  const len = binding.arg  // 初始化设置 
  element.value = Number(element.value ).toFixed(len)  // 失焦时候格式化
  element.addEventListener('blur', function() { 
  if (isNaN(element.value)) {   
    vnode.data.model.callback(0)  
   } else {   
    vnode.data.model.callback(Number(element.value).toFixed(len)) 
   }  
   }) 
 }})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一些常用的JS功能函数代码
Jun 23 Javascript
用js实现计算加载页面所用的时间
Apr 02 Javascript
jQuery timers计时器简单应用说明
Oct 28 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
js上传图片及预览功能实例分析
Apr 24 Javascript
基于jquery实现百度新闻导航菜单滑动动画
Mar 15 Javascript
JS操作input标签属性checkbox全选的实现代码
Mar 02 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
Sep 15 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
Feb 22 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
Apr 08 Javascript
vue后台管理之动态加载路由的方法
Aug 13 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 Javascript
详解angular2.x创建项目入门指令
Oct 11 #Javascript
详解vscode中vue代码颜色插件
Oct 11 #Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 #Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
Oct 11 #Javascript
css配合JavaScript实现tab标签切换效果
Oct 11 #Javascript
vue最简单的前后端交互示例详解
Oct 11 #Javascript
JavaScript中七种流行的开源机器学习框架
Oct 11 #Javascript
You might like
一个PHP的QRcode类与大家分享
2011/11/13 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
详解Document.Cookie
2015/12/25 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
python交互模式基础知识点学习
2020/06/18 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
求职推荐信
2013/10/28 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
讲座主持词
2014/03/20 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
《火烧云》教学反思
2016/02/23 职场文书
请假条应该怎么写?
2019/06/24 职场文书