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

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>

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

http://www.cnnetsun.cn/news/102430.html

相关文章:

  • 魔盒项目开发纪实:移动端应用开发
  • 鸿蒙ArkTS与Vue3状态管理对比
  • EmotiVoice能否生成辩论赛语音?逻辑性强语调输出
  • 【必收藏】AI智能体(AI Agent)完全指南:从底层原理到落地实践,打造你的第一个智能体系统
  • 建议收藏:零基础也能玩转AI大模型:提示词工程+微调+RAG实战指南
  • 精度论文:【Class Attention Transfer Based Knowledge Distillation】
  • 邮件防泄露再升级!CACTER EDLP大模型破解隐秘泄露,防护更精准
  • 13、深入了解psad:端口扫描攻击检测器与可疑流量检测
  • affine+docker+postgresql+备份数据库
  • EmotiVoice语音风格迁移功能探索:跨语境情感复现
  • FDM 3D打印表面粗糙度降至2μm?这一新技术来了解一下!
  • EmotiVoice跨平台兼容性测试结果公布
  • EmotiVoice支持长文本输入吗?分段处理最佳实践
  • 第012章:进销存的萌芽——仓库里的黑洞与“永远对不上的账”(1998)
  • 0 基础挖 SRC 怕违法?保姆级封神指南!合法渠道 + 实操步骤 + 必备技能一文搞定!
  • 如何让机器说话更有感情?试试EmotiVoice多情感TTS
  • 【OpenCV】Python图像处理几何变换之透视
  • EmotiVoice语音合成结果隐私保护措施说明
  • SottPlot5曲线图学习,代码示例,最新版本使用总结(v5.1.x)
  • EmotiVoice语音合成语音压缩技术:减小文件体积不影响质量
  • 央广财经对话齐向东!网安是 “十五五” 黄金赛道,稳、宽、强 = 躺赢风口?
  • 工业互联网产业联盟:高标准数字园区建设研究报告 2025
  • 共商AI时代发展新路径 第十六届亚洲电子论坛举办
  • 软考—系统集成项目管理工程师计算公式汇总
  • AI元人文构想:在黑箱与元白箱之间的抉择分析
  • AI元人文构想:意义行为原生论——回应质疑
  • 15、网络相似度与二分网络的构建与分析
  • 1.5 LangChain vs. DeepSeek:MCP 客户端开发与框架集成的终极对决
  • 设计少儿编程逻辑训练AI助手,通过图形化编程积木操作,AI实时判断代码逻辑错误,提供引导提示,非直接给出答案,记录能力成长轨迹。
  • 开发中小商家库存智能预警系统,录入商品销售数据与库存总量,通过时间序列模型,预测补货节点,自动生成采购清单,支持导出EXCEL。