vue中如何实时修改输入的值

经常看到需要对用户输入的值进行实时修改,有时是需要修改为指定的展示内容,有时候是用来校验,禁止用户输入非法数据,总之是一个常见的需求吧,只是自己一直没有特意去关注。思来想去还是有必要了解一下。

操作方法

一直听说各种方式,记得最深的便是利用computed的计算属性,通过set 和 get 来进行修改,其他的也有所见闻。先实现一种,再进行其他其他深究,以及使用好坏。

vue文档说明 对于需要使用输入法 (如中文、日文、韩文等) 的语言,你会发现 v-model 不会在输入法组合文字过程中得到更新。如果你也想处理这个过程,请使用 input 事件。

需要分两种形式,一种是原生,一种是基于组件,假设需求为输入数字,同时四位一个空格,类似输入银行卡号

原生

使用 v-model 进行数据绑定

// template

// js

data () {

return {

value: ''

}

}

setValue (target) {

// 输入的数据进行初始化,将非数字的替换为空

const val = target.value.toString().replace(/[^0-9]/ig,"")

// 重新赋值

this.value = v.replace(/(\d{4})(?=\d)/g, '$1 ')

}

不适用 v-model 进行数据绑定

// template

// js

data () {

return {

form {

accout: ''

}

}

}

setValueNotWidthVModel (target) {

const v = target.value.toString().replace(/[^0-9]/ig,"")

// 此处是获取数据的地方

this.form.accout = v.replace(/\s/g, '')

// 此处是页面进行显示

target.value = v.replace(/(\d{4})(?=\d)/g, '$1 ')

}

组件方式

组件都是对原始input进行额外处理了一层

// element-ui

// iview

data () {

return {

form: {

account: '0'

}

}

}

// 由于是组件,返回值 v 直接是value ,无法传参,或者`$event`

changeInputValue (v) {

const v = val.toString().replace(/[^0-9]/ig,"")

// 需要延迟一下,对值进行设置

// https://github.com/ElemeFE/element/blob/dev/packages/input/src/input.vue 可以看到设置原始值时,使用 this.$nextTick()

this.$nextTick(() => {

// https://segmentfault.com/q/1010000009840451/a-1020000010449110

this.form.accout = v.replace(/(\d{4})(?=\d)/g, '$1 ')

})

}

总结

依旧不知道使用computed是如何实现的,上述方法,通过input时间,便可以一直拿到值,不用额外进行处理,因为v-model进行了绑定

2019-09-10

无意间看到vue-admin-element作者的掘金文章,参考之下,完成了computed进行修改输入的参数

code

// template

// js

data () {

return {

form: {

computeValue: ''

}

}

}

computed: {

computeValue: {

get () {

return this.form.computeValue

},

set (val) {

this.form.computeValue = val.replace(/[9]/g, 'a')

}

}

}

效果图

vue中怎么点击修改文字_vue中如何实时修改输入的值相关推荐

  1. Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性

    Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性 鼠标悬停时:@mouseenter 鼠标离开时:@mouseleave 利用以上来绑定相应方法,例如: <div @mouseleav ...

  2. PS中油漆桶工具可以直接修改文字图层中的文字颜色吗?

    是的,在 Photoshop 中,油漆桶工具可以直接修改文字图层中的文字颜色.只需要将油漆桶工具放在文字图层上,然后在颜色面板中选择新的颜色,就可以对文字进行染色. 注意,要想使用油漆桶工具修改文字颜 ...

  3. vue中怎么点击修改文字_vue实现双击修改文字内容并重新排序

    我们项目中遇到双击修改信息也比较常见,尤其是后台管理系统 如上图,这就是一个可以对关键词进行手动排序的功能,双击数字的span标签后,span变成一个文本框,失去焦点则变回来,并根据排名按照从小到大重 ...

  4. vue中怎么点击修改文字_Vue.js点击切换按钮改变内容

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. vue 方法里面修改样式_vue中修改swiper样式

    问题 vue单文件组件中无法修改swiper样式. 解决 1,单文件组件中:新增一个style 不加scoped 让它最终成为全局样式.只在其中操作swiper的样式. .swiper-contain ...

  6. vue选中点击的元素_vue中v-for循环选中点击的元素并对该元素添加样式操作

    相信大家都会遇到这种情况:v-for循环时,我只需要点击到的元素做出相应反应,其他的元素不变:但是往往所有v-for循环出的元素都会变化.如下面的代码:我需要点击到的元素添加一个类样式,其他元素不变, ...

  7. vue获取编辑器纯文字_vue中使用富文本编辑器

    前端使用富文本编辑器的插件有很多,今天献上wangeditor的使用教程,教你如何在vue中使用富文本编辑器 wangeditor是一个萌新富文本编辑器,基于js和css,重点在于它轻量,如果你需要的 ...

  8. vue watch 修改滚动条_vue 中滚动条始终定位在底部的方法

    滚动条定位在底部,首先想到的是,动态修改滚动条到顶部的距离等于div的高度, 代码实现: var div = document.getElementById('data-list-content') ...

  9. vue 关闭弹如何销毁子组件_vue中的eventBus会产生内存泄漏吗

    eventBus是在vue中经常用来解决跨组件消息传递的问题,但对它的使用要特别注意,否则会产生很严重的后果. 引入 本文介绍了eventBus的实现原理,并介绍它如何在vue中使用,并举了一个具体的 ...

最新文章

  1. 从选择到上传,可能是最贴心的高仿朋友圈编辑了
  2. Bootstrap4+MySQL前后端综合实训-Day01-AM【实训安排、HBuilder下载及使用、双飞翼布局(圣杯布局)案例、CSS在线手册、flex布局中的对齐方式】
  3. hdu 2709 递推
  4. Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾
  5. PyQt4开发环境搭建指导
  6. 《深度学习Python实践》第20章——回归项目实例
  7. 4月13日调整人人商城小程序用户登录灰头像,getUserProfile小程序登录接口适配比较简单的方法
  8. 激光通信的优点与缺点
  9. Linux C语言写的超级简单端口扫描器
  10. 瞎聊高速公路与主干道的立交匝道设计
  11. 苹果cmsv8黑色简约炫酷手机免费影视模板
  12. rest assured
  13. 通信专业能报国考的计算机类吗,通信工程专业可以报考计算机科学技术类公务员职位么...
  14. 就算所有人都放弃我,我也不会放弃我自己,坚持梦想,拒绝国企,拒绝公务员
  15. python招聘杭州拉勾网_Python3获取拉勾网招聘信息
  16. VIVADO学习笔记之--DONT_TOUCH
  17. 兰博基尼Reventon单挑喷气式战斗机(图)
  18. mysql sql loader_Data Loader
  19. 排序算法c语言描述---归并排序
  20. 一文教你如何有效做好广告投放

热门文章

  1. 如鹏网 静态Web开发 第三章:Javascript
  2. jade 支持html,jade操作HTML中的js
  3. 在为配钥匙发愁吗?无人AI钥匙机帮你配Hello Kitty定制钥匙!
  4. Typora侧边栏的大纲视图折叠( win系统 )
  5. IDEA——开发工具快捷键
  6. C++函数参数传递详解
  7. 《微信小程序-进阶篇》package.json版本说明及各类版本符号详解(一)
  8. 5G基站前传光纤直驱解决方案
  9. SCI/SSCI选刊神器之——SJR(Scientific Journal Rankings)
  10. 决策树(1)——ID3算法与C4.5算法的理论基础与python实现