当前位置: 首页 > backend >正文

自定义指令input中前面不能输入空格

vue3加el-input

封装自定义指令

utils/trim.ts

import type { Directive, DirectiveBinding } from 'vue';const trim: Directive = {mounted(el, binding: DirectiveBinding) {// 获取 el-input 的 DOM 节点const inputEl = el.querySelector('input');if (!inputEl) {console.error('v-trim 指令只能用于包含 input 的元素');return;}// 创建 trim 处理函数const trimHandler = () => {const trimmedValue = inputEl.value.trim();if (trimmedValue !== inputEl.value) {// 更新 input 框显示的值inputEl.value = trimmedValue;// 手动触发 el-input 的 input 事件更新 v-model 绑定值const event = new Event('input', { bubbles: true });inputEl.dispatchEvent(event);}};// 在失去焦点时触发 triminputEl.addEventListener('blur', trimHandler);// 保存处理器到元素属性中,方便解绑(el as any)._trimHandler = trimHandler;},unmounted(el) {// 清理事件绑定const trimHandler = (el as any)._trimHandler;if (trimHandler) {const inputEl = el.querySelector('input');inputEl?.removeEventListener('blur', trimHandler);delete (el as any)._trimHandler;}},
};export default trim;

在main.ts中注册

import trim from '@/utils/trim';

app.directive('trim', trim);

使用,直接在el-input中

<el-input

            v-model="PrmContractChanges.searchForm.projectName"

            :placeholder="t('form.input')"

            clearable

            v-trim

          />

 

场景:用户在复制粘贴的时候,有时候复制进来的数据,前面会存在空格,可能会导致查询方法报错,此方法会自动清除数据前的空格,在查询数据中输入的空格是不会被清除的。 

http://www.xdnf.cn/news/2914.html

相关文章:

  • java练习4
  • 【记录一下】RagFlow 本地安装详细步骤(Windows + Linux)
  • 一种在使用Kaggle并遇上会话中断时强行保存数据的方法
  • python练习:求两数相加之和
  • 【Git】项目多个分支开发、维护与优化处理 ing
  • 第二节:文件系统
  • Java基础
  • 1.6二重积分
  • 浅谈人工智能发展现状
  • Python-pandas-DataFrame取值--.loc[]、.iloc[] 具体的操作及详细语义和语法说明
  • Linux文件传输:FTP服务器配置全攻略
  • Foupk3systemX5OS系统产品设备
  • 扩散模型与正弦位置编码
  • datasets 数据处理封装后,统一处理流程以避免Dataset Map顺序依赖问题
  • 《算法吞噬幻想乡:GPT-4o引发的艺术平权运动与版权核爆》
  • 数据库Mysql学习——day7(多表查询(JOIN)进阶)
  • 软件测试深度解析:从“用户登录“看测试用例设计的艺术
  • 什么是 Web 标准?为什么它们对 SEO 和开发很重要?
  • TRex 控制台命令解析
  • 【计算机视觉】三种图像质量评价指标详解:PSNR、SSIM与SAM
  • 【MySQL数据库】表的连接
  • OpenGL学习笔记(HDR、泛光)
  • ros2_不同ROS_DOMAIN_ID环境变量之间通信
  • vuex与vuex-persistedstate 插件固化数据
  • Spring框架allow-bean-definition-overriding详细解释
  • terraform隐藏云账号ak/sk信息
  • Linux系统中的静态库和动态库
  • 《无刷空心杯电机减速机选型及行业发展趋势》
  • 解密面试高频题:加权轮询负载均衡算法 (Java 实现)
  • 量子算法调试:Grover算法搜索空间压缩过程可视化方案