vue中怎么点击修改文字_vue中如何实时修改输入的值
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中如何实时修改输入的值相关推荐
- Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性
Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性 鼠标悬停时:@mouseenter 鼠标离开时:@mouseleave 利用以上来绑定相应方法,例如: <div @mouseleav ...
- PS中油漆桶工具可以直接修改文字图层中的文字颜色吗?
是的,在 Photoshop 中,油漆桶工具可以直接修改文字图层中的文字颜色.只需要将油漆桶工具放在文字图层上,然后在颜色面板中选择新的颜色,就可以对文字进行染色. 注意,要想使用油漆桶工具修改文字颜 ...
- vue中怎么点击修改文字_vue实现双击修改文字内容并重新排序
我们项目中遇到双击修改信息也比较常见,尤其是后台管理系统 如上图,这就是一个可以对关键词进行手动排序的功能,双击数字的span标签后,span变成一个文本框,失去焦点则变回来,并根据排名按照从小到大重 ...
- vue中怎么点击修改文字_Vue.js点击切换按钮改变内容
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- vue 方法里面修改样式_vue中修改swiper样式
问题 vue单文件组件中无法修改swiper样式. 解决 1,单文件组件中:新增一个style 不加scoped 让它最终成为全局样式.只在其中操作swiper的样式. .swiper-contain ...
- vue选中点击的元素_vue中v-for循环选中点击的元素并对该元素添加样式操作
相信大家都会遇到这种情况:v-for循环时,我只需要点击到的元素做出相应反应,其他的元素不变:但是往往所有v-for循环出的元素都会变化.如下面的代码:我需要点击到的元素添加一个类样式,其他元素不变, ...
- vue获取编辑器纯文字_vue中使用富文本编辑器
前端使用富文本编辑器的插件有很多,今天献上wangeditor的使用教程,教你如何在vue中使用富文本编辑器 wangeditor是一个萌新富文本编辑器,基于js和css,重点在于它轻量,如果你需要的 ...
- vue watch 修改滚动条_vue 中滚动条始终定位在底部的方法
滚动条定位在底部,首先想到的是,动态修改滚动条到顶部的距离等于div的高度, 代码实现: var div = document.getElementById('data-list-content') ...
- vue 关闭弹如何销毁子组件_vue中的eventBus会产生内存泄漏吗
eventBus是在vue中经常用来解决跨组件消息传递的问题,但对它的使用要特别注意,否则会产生很严重的后果. 引入 本文介绍了eventBus的实现原理,并介绍它如何在vue中使用,并举了一个具体的 ...
最新文章
- 从选择到上传,可能是最贴心的高仿朋友圈编辑了
- Bootstrap4+MySQL前后端综合实训-Day01-AM【实训安排、HBuilder下载及使用、双飞翼布局(圣杯布局)案例、CSS在线手册、flex布局中的对齐方式】
- hdu 2709 递推
- Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾
- PyQt4开发环境搭建指导
- 《深度学习Python实践》第20章——回归项目实例
- 4月13日调整人人商城小程序用户登录灰头像,getUserProfile小程序登录接口适配比较简单的方法
- 激光通信的优点与缺点
- Linux C语言写的超级简单端口扫描器
- 瞎聊高速公路与主干道的立交匝道设计
- 苹果cmsv8黑色简约炫酷手机免费影视模板
- rest assured
- 通信专业能报国考的计算机类吗,通信工程专业可以报考计算机科学技术类公务员职位么...
- 就算所有人都放弃我,我也不会放弃我自己,坚持梦想,拒绝国企,拒绝公务员
- python招聘杭州拉勾网_Python3获取拉勾网招聘信息
- VIVADO学习笔记之--DONT_TOUCH
- 兰博基尼Reventon单挑喷气式战斗机(图)
- mysql sql loader_Data Loader
- 排序算法c语言描述---归并排序
- 一文教你如何有效做好广告投放
热门文章
- 如鹏网 静态Web开发 第三章:Javascript
- jade 支持html,jade操作HTML中的js
- 在为配钥匙发愁吗?无人AI钥匙机帮你配Hello Kitty定制钥匙!
- Typora侧边栏的大纲视图折叠( win系统 )
- IDEA——开发工具快捷键
- C++函数参数传递详解
- 《微信小程序-进阶篇》package.json版本说明及各类版本符号详解(一)
- 5G基站前传光纤直驱解决方案
- SCI/SSCI选刊神器之——SJR(Scientific Journal Rankings)
- 决策树(1)——ID3算法与C4.5算法的理论基础与python实现