需求

当用户输入的时候,我们需要自动去掉输入框两边的空格, 注意,中间是能输入空格的
我们一般使用的是 v-model.trim,原生的input框是可以的,但封装之后的会把所有空格都去掉,例如el-input.

此时我们利用全局自定义指令实现对el-input的只去除首尾空格的需求。

1、在directive文件夹下创建一个trim文件夹 

2、index.js文件 

/*** 去除两边空格* 使用 <el-input v-model="xxx" v-trim></el-input>*/
function getInput(el) {let inputEleif (el.tagName !== 'INPUT') {inputEle = el.querySelector('input')} else {inputEle = el}return inputEle
}
function dispatchEvent(el, type) {let evt = document.createEvent('HTMLEvents')evt.initEvent(type, true, true)el.dispatchEvent(evt)
}
const Trim = {inserted: el => {let inputEle = getInput(el)const handler = function (event) {const newVal = event.target.value.trim()if (event.target.value != newVal) {event.target.value = newValdispatchEvent(inputEle, 'input')}}el.inputEle = inputEleel._blurHandler = handlerinputEle.addEventListener('blur', handler)},unbind(el) {const { inputEle } = elinputEle.removeEventListener('blur', el._blurHandler)}
}
export default Trim

3、引入

4、在main.js中全局引入定义好的directive 

import directive from './directive' // directive
Vue.use(directive)

5、使用

vue利用自定义指令全局去除el-input框前后空格相关推荐

  1. Vue 自定义指令 解决IOS webview input 获取焦点被键盘遮挡

    Vue 自定义指令 解决IOS webview input 获取焦点被键盘遮挡 创建自定义指令 在使用input的地方添加自定义指令,记录一下还有优化空间. vue 文件 <div id=&qu ...

  2. 【vue3】el-input 的获取焦点——el挂载:自定义指令,focus使 input 获取焦点(el-input 的Input Methods)

    参考网址: (适用vue2)让element-ui的输入框聚焦的4种方式 ElementUI:使input自动聚焦的两种方法 使el-form中的el-input自动获取焦点 在vue3中,保留了自定 ...

  3. VUE使用自定义指令对普通 DOM 元素进行底层操作

    使用vue的自定义指令来整合某个重复使用的底层操作 举个聚焦输入框的例子,如下: 当页面加载时,该元素将获得焦点 (注意:autofocus 在移动版 Safari 上不工作).事实上,只要你在打开这 ...

  4. Vue的自定义指令以及Vue自定义指令的应用场景

    前言 一.Vue的自定义指令分为? vue中除了核心功能内置的指令外,也允许注册自定义指令.有的情况下,对普通DOM元素进行底层操作,这时候就会用到自定义指令. 自定义指令分为全局自定义指令和局部的自 ...

  5. VUE通过自定义指令,只允许输入大写英文以及数字

    在写之前需要知道几个功能对象的作用: 首先输入框输入的情况有键盘输入和粘贴输入的情况 用到的组件有: input.onblur-onblur: 事件会在对象失去焦点时发生.Onblur 经常用于Jav ...

  6. VUE:自定义指令(directives )选项的用法

    自定义指令分为全局指令和局部指令.全局指令可在任意vue组件内生效,局部指令仅在注册了指令的组件内生效. 全局指令和局部指令写法几乎相同.全局指令是在main.js内使用Vue.directive注册 ...

  7. js:Vue.js自定义指令实现scroll下滑滚动翻页

    Vue.js自定义指令实现scroll下滑滚动翻页 核心代码 import Vue from 'vue'// v-scroll Vue.directive('scroll', {bind(el, bi ...

  8. vue 项目自定义指令实现防抖

    自定义v-debounce指令实现click事件防抖 该指令绑定的方法暂不支持传递参数,如需要传参数可以参考另一篇博客,防抖组件的实现 工具uitls文件夹创建debounce.js文件 代码如下 i ...

  9. Vue.js自定义指令的用法与实例

    市面上大多数关于Vue.js自定义指令的文章都在讲语法,很少讲实际的应用场景和用例,以致于即便明白了怎么写,也不知道怎么用.本文不讲语法,就讲自定义指令的用法. 自定义指令是用来操作DOM的.尽管Vu ...

最新文章

  1. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、并获取因子分数、因子得分系数(scoring coefficients)
  2. ajax点赞只能点一次,php+mysql+ajax局部刷新点赞取消点赞功能(每个账号只点赞一次).pdf...
  3. iphone圆点怎么弄出来_新款iPhone放出终极大招,果粉:就没高级点的嘛
  4. python详细安装教程环境配置-Python的安装教程与环境配置
  5. 如何测试网络视频服务器(DVS)
  6. [算法]-排序算法之希尔排序
  7. Linux用ctrl + r 查找以前(历史)输入的命令
  8. 冲击中国超融合第一,浪潮的底气从何而来?
  9. 力扣题目——98. 验证二叉搜索树
  10. linux ping 命令_Linux ping命令示例
  11. cydia软件路径_ifile下载和安装及使用图文教程 强大的iPhone文件管理器
  12. 防火墙端口大全(转)
  13. 游戏多开检测的几种实现方法及破解方法参考
  14. noj [1480] 懒惰的风纪委Elaine (多重背包)
  15. 科目二 后视镜 调节
  16. Package zip is not available, but is referred to by another package.
  17. 2009个人年度总结报告
  18. 【横向移动】内网渗透之内网信息收集
  19. java.io.UTFDataFormatException: encoded string too long: 270976 bytes
  20. Unity 编辑器扩展菜单

热门文章

  1. 【UE4】资源管理之UAssetManager用法
  2. 1-1 【理论】01-文件上传/下载漏洞的业务场
  3. Python之父Guido推荐的规范
  4. 信息系统项目管理师考试论文写作复习笔记(6)-成本管理论文指导
  5. 「镁客·请讲」红茶移动金辉:以”eSIM技术和服务提供商”为定位,解决手机通信、物联网的诸多痛点...
  6. 一键检查LINUX基础环境
  7. 水果FLStudio21.0.0软件最新版有哪些新增功能变化?
  8. Output 0 of UnbindBackward is a view and is being modified inplace
  9. 免费好用的天气服务 - Tuya(结尾附视频)
  10. 微信小程序 高频面试题合集