您的位置:首页 > 汽车 > 新车 > 长沙本地论坛有哪些_北京网站开发公司哪家好_什么是seo搜索优化_安徽网络推广和优化

长沙本地论坛有哪些_北京网站开发公司哪家好_什么是seo搜索优化_安徽网络推广和优化

2025/5/1 4:05:22 来源:https://blog.csdn.net/MYmayue/article/details/147604181  浏览:    关键词:长沙本地论坛有哪些_北京网站开发公司哪家好_什么是seo搜索优化_安徽网络推广和优化
长沙本地论坛有哪些_北京网站开发公司哪家好_什么是seo搜索优化_安徽网络推广和优化

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

          />

 

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com