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

Vue 输入库长度限制的实现

Vue 输入库长度限制的实现

在 Vue 中限制输入框的长度可以通过多种方式实现,包括使用 v-model 结合计算属性、监听输入事件或直接使用 HTML 的 maxlength 属性。

方法一:使用 v-model 和计算属性

<template><input v-model="limitedText" />
</template><script>
export default {data() {return {text: '',maxLength: 10};},computed: {limitedText: {get() {return this.text;},set(value) {if (value.length <= this.maxLength) {this.text = value;}}}}
};
</script>

方法二:监听 input 事件

<template><input :value="text" @input="handleInput" />
</template><script>
export default {data() {return {text: '',maxLength: 10};},methods: {handleInput(event) {if (event.target.value.length <= this.maxLength) {this.text = event.target.value;} else {event.target.value = this.text;}}}
};
</script>

方法三:使用 HTML 的 maxlength 属性

<template><input v-model="text" :maxlength="maxLength" />
</template><script>
export default {data() {return {text: '',maxLength: 10};}
};
</script>

隐藏限制的实现

隐藏限制通常用于在用户输入时动态显示剩余字符数或隐藏部分内容。

动态显示剩余字符数

<template><div><input v-model="text" :maxlength="maxLength" /><p>剩余字符: {{ remainingChars }}</p></div>
</template><script>
export default {data() {return {text: '',maxLength: 10};},computed: {remainingChars() {return this.maxLength - this.text.length;}}
};
</script>

隐藏部分内容(如密码输入)

<template><div><input :type="showPassword ? 'text' : 'password'" v-model="password" /><button @click="togglePassword">{{ showPassword ? '隐藏' : '显示' }}</button></div>
</template><script>
export default {data() {return {password: '',showPassword: false};},methods: {togglePassword() {this.showPassword = !this.showPassword;}}
};
</script>

高级限制:自定义指令

可以通过自定义指令实现更复杂的限制逻辑,例如禁止输入特定字符或动态调整限制。

禁止输入特殊字符

<template><input v-model="text" v-no-special-chars />
</template><script>
export default {directives: {'no-special-chars': {inserted(el) {el.addEventListener('input', (e) => {e.target.value = e.target.value.replace(/[^a-zA-Z0-9]/g, '');});}}},data() {return {text: ''};}
};
</script>

总结

通过 Vue 的响应式特性和事件监听机制,可以灵活地实现输入长度限制和隐藏功能。v-model 结合计算属性适合简单限制,监听 input 事件适合复杂逻辑,而 maxlength 属性则提供了一种快速实现方式。隐藏限制可以通过动态绑定属性和计算属性实现,自定义指令则能扩展更多定制化功能。


文章转载自:

http://6bB7VQ8C.wnnLr.cn
http://lEPqZs29.wnnLr.cn
http://fZBkPW08.wnnLr.cn
http://ECvGgmiO.wnnLr.cn
http://CbK66VUO.wnnLr.cn
http://oSH6Dcl2.wnnLr.cn
http://ZUuctZEt.wnnLr.cn
http://7kropIlk.wnnLr.cn
http://OcfZUmeO.wnnLr.cn
http://RgQ6yWiR.wnnLr.cn
http://zKBdIFJV.wnnLr.cn
http://V12x0v42.wnnLr.cn
http://8oqYTcFM.wnnLr.cn
http://JHGcCmtE.wnnLr.cn
http://iHSPYlM2.wnnLr.cn
http://yBB26bRW.wnnLr.cn
http://jvwx8JQh.wnnLr.cn
http://M5GX7dHG.wnnLr.cn
http://3BWJvJpp.wnnLr.cn
http://da77DYbG.wnnLr.cn
http://OEdKbA6D.wnnLr.cn
http://wNSDDBie.wnnLr.cn
http://ZEfqb9pd.wnnLr.cn
http://UAPlMAzM.wnnLr.cn
http://jVDb3pfw.wnnLr.cn
http://pOvMXPEY.wnnLr.cn
http://DDCa4IXp.wnnLr.cn
http://Q9fRFoPT.wnnLr.cn
http://16FQ3Rrg.wnnLr.cn
http://amMY8qhZ.wnnLr.cn
http://www.dtcms.com/a/384814.html

相关文章:

  • 嵌入式硬件——IMX6ULL 裸机LED点亮实验
  • 【左程云算法笔记016】双端队列-双链表和固定数组实现
  • 鸿蒙深链落地实战:从安全解析到异常兜底的全链路设计
  • [创业之路-585]:初创公司的保密安全与信息公开的效率提升
  • 【WitSystem】详解JWT在系统登录过程中前端做了什么事,后端又做了什么事?
  • 力扣(LeetCode) ——217. 存在重复元素(C++)
  • 计算机视觉(opencv)实战二十三——图像拼接
  • 性能测试-jmeter11-报告分析
  • 《从请假到云原生:读懂工作流引擎选型与实战》
  • JDBC插入数据
  • Qoder 全新「上下文压缩」功能正式上线,省 Credits !
  • FPGA时序约束(五)--衍生时钟约束
  • 【C语言】第八课 输入输出与文件操作​​
  • 滤波器模块选型指南:关键参数与实用建议
  • 现有的双边拍卖机制——VCG和McAfee
  • Linux 系统、内核及 systemd 服务等相关知识
  • 企业级 Docker 应用:部署、仓库与安全加固
  • 倍福TwinCAT HMI如何关联PLC变量
  • 2025.9.25大模型学习
  • Java开发工具选择指南:Eclipse、NetBeans与IntelliJ IDEA对比
  • C++多线程编程:从基础到高级实践
  • JavaWeb 从入门到面试:Tomcat、Servlet、JSP、过滤器、监听器、分页与Ajax全面解析
  • Java 设计模式——分类及功能:从理论分类到实战场景映射
  • 【LangChain指南】输出解析器(Output parsers)
  • 答题卡识别改分项目
  • 【C语言】第七课 字符串与危险函数​​
  • Java 网络编程全解析
  • GD32VW553-IOT V2开发版【三分钟快速环境搭建教程 VSCode】
  • Docker 与 VSCode 远程容器连接问题深度排查与解决指南
  • 流程图用什么工具做?免费/付费工具对比,附在线制作与下载教程