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. 关于android.view.WindowLeaked的解决方案
  3. python中outside loop_Python: 'break' outside loop
  4. oracleDBA-D1
  5. html 让表格在右侧显示不出来,css中怎么解决表格边框不显示的问题?
  6. builtins自定义_ng-repeat里创建的自定义指令
  7. 【计算机图形学】实验:VB.net环境下的图形裁剪完整实验操作流程
  8. Spring Cloud构建微服务架构-Hystrix监控面板
  9. html中隐藏单元格上边框,HTML table 标签边框问题(隐藏表格边框、单元格边框等)...
  10. wxpython 文本框TextCtrl
  11. 【Flink】Flink消费kafka 突然报错 Kafka09PartitionDiscoverer.getAllPartitionsForTopics
  12. 很全的WebGL教程
  13. matlab画黎曼函数,[2018年最新整理]matlab画复数函数图象和黎曼面.docx
  14. hibernatexml方式和注解方式实现单实体映射和继承关系映射,eclipse实现
  15. 关于ST的一些库的说明(附标准库下载地址)
  16. pom.xml文件中的dependency的scope属性值为test,但是Test sources root的文件里面不能使用
  17. Hibernate5
  18. html5超链接不加下划线,css怎么让超链接不加下划线
  19. c# 如何改变ToolStrip的大小,并向ToolStripButton加载合适大小的Image
  20. DWZ表单验证规则一览表

热门文章

  1. 链表头指针head要设为**head,而不是*head
  2. linux x server 恢复模式,【Funtouch OS玩机宝典】:工程模式恢复模式入门指南
  3. Linux ip 和 port 查看
  4. 快递的旅行日记 - 深度挖掘快递物流地图轨迹查询API 的使用场景
  5. layui 复杂表头多层表头的表格数据非后台导出excel
  6. 2019/07/21_后生动物转录因子的早期进化 Early evolution of metazoan transcription factors_(lab paper)
  7. 计算机语言翻译的情诗,英文爱情诗句 英文情诗带翻译
  8. [生存志] 第42节 晋献假途灭虢
  9. XShell初次连接WSL2教程
  10. 自制密码管理器 —— 使用python、RSA加密文件