如何在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 相关文章推荐
JavaScript 仿关机效果的图片层
Dec 26 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
Mar 21 Javascript
在浏览器窗口上添加遮罩层的方法
Nov 12 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
Mar 06 Javascript
jQuery滚动条插件nanoscroller使用指南
Apr 21 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
JS使用插件cryptojs进行加密解密数据实例
May 11 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
node.js部署之启动后台运行forever的方法
May 23 Javascript
JavaScript实现随机点名器实例详解
May 07 Javascript
npm全局环境变量配置详解
Dec 15 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连接MySQL代码的参数说明
2008/06/07 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
可实现多表单提交的javascript函数
2007/08/01 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
JavaScript制作3D旋转相册
2020/08/02 Javascript
Python 文件操作实现代码
2009/10/07 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
使用Python设计一个代码统计工具
2018/04/04 Python
解读python如何实现决策树算法
2018/10/11 Python
python文件操作的简单方法总结
2019/11/07 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
外贸英语毕业生自荐信
2013/11/14 职场文书
大学生个人自我鉴定
2013/12/03 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
单位委托书格式范本
2014/09/29 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
专职安全员岗位职责
2015/04/11 职场文书
投诉书范文
2015/07/02 职场文书