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

vue2 全局指令(输入框自定义限制)

1.Vue.directive

  • Vue.directive('precision', {...}): 这是注册一个全局自定义指令的方式,名称为 'precision'。通过这个指令,你可以在模板中的元素上使用 v-precision 来应用该指令。

Vue.directive('precision', { bind(el, binding, vnode) {...} }) 这行代码定义了一个名为 precision 的自定义指令,并在其中使用了钩子函数 bind。在 Vue.js 中,自定义指令是用来直接操作 DOM 的一种方式。

实例

Vue.directive('precision', {bind(el, binding, vnode) {const input = el.querySelector('input');if (input) {input.addEventListener('input', () => {let value = input.value;// 过滤非数字和小数点value = value.replace(/[^0-9.]/g, '');// 处理开头的小数点,替换为0.value = value.replace(/^\./, '0.');// 分割整数和小数部分let parts = value.split('.');// 处理多个小数点的情况,合并小数部分if (parts.length > 2) {value = parts[0] + '.' + parts.slice(1).join('');parts = value.split('.'); // 重新分割确保结构正确}// 截取小数部分至多三位if (parts.length > 1) {parts[1] = parts[1].slice(0, 3);value = parts[0] + '.' + parts[1];}// 避免无效的更新导致光标跳动if (input.value !== value) {input.value = value;}// 触发v-model更新vnode.componentInstance.$emit('input', value);});}}
});使用示例:
<template><div v-precision><input v-model="number" type="text"></div>
</template>


文章转载自:

http://7IE8NaG1.hqbnx.cn
http://pShl81r4.hqbnx.cn
http://VB7StDv3.hqbnx.cn
http://uldVXSzG.hqbnx.cn
http://et5knSnm.hqbnx.cn
http://N1cmkUuD.hqbnx.cn
http://SEZbQTmb.hqbnx.cn
http://a60bcCeK.hqbnx.cn
http://EetmYRn4.hqbnx.cn
http://cNJP0JoQ.hqbnx.cn
http://a9nNEwPI.hqbnx.cn
http://f8TM4L85.hqbnx.cn
http://9uTgYJUp.hqbnx.cn
http://kg26hyAP.hqbnx.cn
http://8xcnaIiW.hqbnx.cn
http://kLiSWB0K.hqbnx.cn
http://s25JuOZc.hqbnx.cn
http://utBjhAq6.hqbnx.cn
http://tVKVJy3V.hqbnx.cn
http://Dk5CsUVr.hqbnx.cn
http://5XJP6ov5.hqbnx.cn
http://rQSC6iMZ.hqbnx.cn
http://QP4VxUqZ.hqbnx.cn
http://vOuEtwJX.hqbnx.cn
http://pDKZ62LW.hqbnx.cn
http://ayZWq59e.hqbnx.cn
http://owWdtmY2.hqbnx.cn
http://1IDqM8st.hqbnx.cn
http://8CRjyYXx.hqbnx.cn
http://fJM7KOAq.hqbnx.cn
http://www.dtcms.com/a/209420.html

相关文章:

  • 【C++】20. AVL树的实现
  • BU9792驱动段式LCD
  • 解决:dpkg: error: dpkg frontend lock is locked by another process
  • 光伏电站及时巡检:守护清洁能源的“生命线”
  • linux移植lvgl
  • 带您了解工业级网络变压器的浪涌等级测试有哪些条件?
  • Mistral AI 开源最新 Small 模型——Devstral-Small-2505
  • CATIA高效工作指南——常规配置篇(三)
  • 【Nature子刊聚焦:超构表面多维调控与AI驱动的设计革命 ——2024-2025年超构表面领域突破性进展速览 】
  • Day 29 训练
  • 免费在线AI聊天工具
  • 数据同步自动化——如何用Python打造高效工具?
  • 数学建模MathAI智能体-2025电工杯A题实战
  • Linux性能监控:工具与最佳实践
  • 双重攻击锁定饮料巨头,黑客组织宣称窃取可口可乐海量数据
  • JavaWeb面试题 (一)
  • Java 8 Lambda 表达式使用说明与案例
  • Java 集合框架核心知识点全解析:从入门到高频面试题(含 JDK 源码剖析)
  • synchronized 实现原理
  • 双流芯谷元宇宙产业园,引领元宇宙产业新潮流
  • 快捷回复预设文本工具
  • TCP 三次握手,第一次握手报文丢失会发生什么?
  • 黑马点评-实现安全秒杀优惠券(使并发一人一单,防止并发超卖)
  • 易境通专线散拼系统:全方位支持多种专线物流业务!
  • 中宏立达与天空卫士达成战略合作
  • Spring Boot 条件装配机制:用它写出更优雅的自动配置
  • PictureThis 解锁高级会员版_v5.3.0 拍植物知名称和植物百科
  • Ansible快速入门指南
  • 算法助手使用环境框架构建教程
  • 一条SQL的执行过程