如何在Vue中使用CleaveJS格式化你的输入内容


Posted in Javascript onDecember 14, 2018

What's CleaveJS?

CleaveJS 是最近github上的一个热门项目,在短短的一个多月中star数达到了2500+,且保持着强劲的上升势头。它的主要目的是

Format input text content when you are typing 格式化你的输入内容

可以查看官方的在线DEMO进行体验。

Vue-Cleave

官方的CleaveJS只提供了 原生JS ReactJS 版本的,看样子也准备出 AngularJS 版的了。但是当我把 VueJS 版本的pullrequest过去之后,却得到了这么一条答复:

Thanks for playing cleave with vue.js. Vue.js is an amazing framework but for now, we will just focus on what we can handle.
So we will not add this support in the original repo, will close this, cheers.

看来只好自己独立发布,为VueJS社区作贡献了……

Usage

直接引用项目 的例子作为展示。 首先建立一个父组件,命名为 App.vue ,其代码如下:

<!-- App.vue -->

<template>
 <Cleave :options='cleaveOptions' v-model='formatedValue'></Cleave>
</template>

<script>
import Cleave from './components/cleave.vue'

export default {
 data() {
  return {
   formatedValue: '',
   cleaveOptions: {
    numeral: true,
    numeralDecimalScale: 4
   }
  }
 },
 watch: {
  'formatedValue': (val) => {
   console.log(val)
  }
 },
 components: {
  Cleave
 }
}

</script>

然后呢? 没有了。

使用方式非常简单,只需要把 cleave.vue 组件import进来进行引用,然后通过动态props的方式在父组件 App.vue 里面把写好的自定义 cleaveOptions 传到 <Cleave/> 里面就行了。我们可以把 <Cleave/> 当作一个普通的 <input/> 元素直接进行使用。

对于自定义的 cleaveOptions ,其设置的内容和 官方文档 是相同的,直接照着设置即可。

PS:对于格式化 电话号码 的问题,需要进入到 cleave.vue 文件,手动引入对应国家的addon包:

require('../lib/addons/phone-type-formatter.{country}')

License

Vue-Cleave is licensed under the Apache License Version 2.0

Cleave.js is included under its Apache License Version 2.0

Google libphonenumber is included under itsApache License Version 2.0

Last but not least...

由于引用包和官方的同步,而官方的包仍然有一些小bug,所以 Vue-Cleave 也会因此带有瑕疵,但我会尽量及时更新维护,也欢迎大家共同维护,一起建立更加完善的VueJS生态圈。

项目地址:https://github.com/jrainlau/vue-cleave

水平有限,如有发现任何错漏还请指点一二。我是Jrain,欢迎关注我的专栏,不定期分享自己的学习体验,开发心得,搬运墙外的干货。下次见啦,谢谢大家!

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

Javascript 相关文章推荐
基于Web标准的UI组件 — 树状菜单(2)
Sep 18 Javascript
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 Javascript
JS实现滑动门效果的方法详解
Dec 19 Javascript
vue实现简单实时汇率计算功能
Jan 15 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
利用JS实现scroll自定义滚动效果详解
Oct 17 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
用JS实现一个简单的打砖块游戏
Dec 11 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
Dec 13 #Javascript
node.js学习笔记之koa框架和简单爬虫练习
Dec 13 #Javascript
浅谈vuex actions和mutation的异曲同工
Dec 13 #Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
Dec 13 #Javascript
javascript对HTML字符转义与反转义
Dec 13 #Javascript
Web安全之XSS攻击与防御小结
Dec 13 #Javascript
JavaScript实现邮箱后缀提示功能的示例代码
Dec 13 #Javascript
You might like
php.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
Python实现截屏的函数
2015/07/26 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
Python列表对象实现原理详解
2019/07/01 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
儿园租房协议书范本
2014/12/02 职场文书
2015年护士节慰问信
2015/03/23 职场文书
家长反馈意见及建议
2015/06/03 职场文书
Python中递归以及递归遍历目录详解
2021/10/24 Python
Python读写yaml文件
2022/03/20 Python