news 2026/6/22 22:40:43

Ant Design Vue V1.7.8版本,a-input 去空格

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ant Design Vue V1.7.8版本,a-input 去空格

目前项目在使用Vue2.6+Ant Design Vue V1.7.8版本开发,其实就是用了jeecg的框架,发现这个比较旧的版本没有**.trim()**的方法,所以只能手搓;

第一种:全局添加

注意:用了第一种发现在使用苹果电脑的时候,苹果输入法有bug;
注意:用了第一种发现在使用苹果电脑的时候,苹果输入法有bug;
注意:用了第一种发现在使用苹果电脑的时候,苹果输入法有bug;

main.js文件

mounted(){document.body.addEventListener('input',this.removeSpacesFromInput,true);}//去掉input的空格methods:{removeSpacesFromInput(e){// 判断是否为 Ant Design 的 a-input 元素if(e.target.tagName==='INPUT'){if(e.target.closest('.ant-input')){// 对 Ant Design 的 a-input 组件去除空格e.target.value=e.target.value.replace(/\s+/g,'');}elseif(e.target.closest('.el-input__inner')){// 对 Element UI 的 el-input 组件去除空格e.target.value=e.target.value.replace(/\s+/g,'');}}}},//去掉input的空格beforeDestroy(){// 在组件销毁前移除事件监听document.body.removeEventListener('input',this.removeSpacesFromInput,true);}

第二种:在单个页面中,单个输入框中使用

例子一:

a-input 输入框使用了v-model的情况下

<a-form-model-item label="往来单位名称"prop="supplierName"><a-input v-model="form.supplierName"@input="handleSupplierNameInput"placeholder='请输入往来单位名称!':disabled="type == 'detail'"/></a-form-model-item>// 在方法里面实现methods:{handleSupplierNameInput(e){constvalue=e.target.value;consttrimmedValue=value.replace(/\s+/g,'');if(value!==trimmedValue){this.$nextTick(()=>{this.form.supplierName=trimmedValue;});}else{this.form.supplierName=value;}},}
例子二:

使用 v-decorator 的方式

data(){return{form:this.$form.createForm(this),}}a-form-item label="姓名"><a-input v-decorator="['contactName',{rules:[{required:true,message:'请输入姓名!'}],getValueFromEvent:(event)=>event.target.value.replace(/\s+/g,''),initialValue:'',validateTrigger:'blur'}]" placeholder='请输入姓名':disabled="type == 'detail'"/></a-form-item>
例子三:

使用 v-decorator 的方式 + 自定义校验

data(){return{validatorRules:{username:{rules:[{required:true,message:'请输入用户账号!'},{pattern:/^[a-zA-Z0-9]+$/,// 正则匹配英文数字message:'只能输入英文或数字!'},{validator:this.validateUsername,}]},}}}<a-form-item label="用户账号":labelCol="labelCol":wrapperCol="wrapperCol"><a-input placeholder="请输入用户账号(输入英文或数字)"v-decorator="['userName',{rules:validatorRules.username?validatorRules.username.rules:[],getValueFromEvent:(event)=>event.target.value.replace(/\s+/g,''),initialValue:'',validateTrigger:'blur'}]":readOnly="!!model.id"autocomplete="new-userName"/></a-form-item>

以上就是我目前遇到的几种情况吧

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:46:18

魔盒项目开发纪实:移动端应用开发

继续移动端项目框架搭建&#xff0c;购买的材料预计今天可以送货&#xff0c;到货后搭建一个demo进行测试&#xff0c;之后进行电路图绘制和3d建模做盒子造型。 项目概述 MagicBox 是一个基于 Flutter 开发的跨平台移动端应用&#xff0c;用于管理智能设备的发现、配置和控制…

作者头像 李华
网站建设 2026/6/23 16:44:39

鸿蒙ArkTS与Vue3状态管理对比

在鸿蒙&#xff08;HarmonyOS&#xff09;ArkTS开发中&#xff0c;状态管理装饰器与Vue 3的响应式系统设计理念相似&#xff0c;但实现和语法存在显著差异。以下从核心机制、语法和功能维度进行专业对比&#xff1a;1. 核心机制对比特性鸿蒙 ArkTSVue 3响应式基础State、Prop 等…

作者头像 李华
网站建设 2026/6/23 16:44:19

EmotiVoice能否生成辩论赛语音?逻辑性强语调输出

EmotiVoice能否生成辩论赛语音&#xff1f;逻辑性强语调输出 在一场激烈的辩论赛中&#xff0c;真正打动评委的往往不只是论点本身&#xff0c;更是说话的方式——那一声斩钉截铁的反驳、一次恰到好处的停顿、一段情绪递进的陈词。语气的强弱、节奏的变化、情感的张力&#xff…

作者头像 李华
网站建设 2026/6/23 0:48:21

建议收藏:零基础也能玩转AI大模型:提示词工程+微调+RAG实战指南

咱们先唠个实诚的——现在想蹭AI大模型的风口&#xff0c;是不是得先啃完《深度学习》《机器学习实战》&#xff1f;是不是得把TensorFlow、PyTorch的API背得滚瓜烂熟&#xff1f;是不是得搞懂“卷积神经网络 ”“Transformer架构”这些绕口的术语&#xff1f; 不用&#xff01…

作者头像 李华
网站建设 2026/6/23 18:39:20

精度论文:【Class Attention Transfer Based Knowledge Distillation】

基于类注意力转移的知识蒸馏 Class Attention Transfer Based Knowledge Distillation 摘要 以往的知识蒸馏方法在模型压缩任务中展现了卓越的性能&#xff0c;然而这些方法难以解释所转移的知识如何提升学生网络的性能。本研究致力于提出一种兼具高可解释性与强大性能的知识蒸…

作者头像 李华