vue3.0如何快速封装自定义指令!

一、输入框自动获得焦点

javascript 复制代码
// 定义自定义指令 v-focus
const vFocus = {
  // 当被绑定的元素插入到 DOM 中时......
  mounted(el) {
    // 聚焦元素
    el.focus();
  }
};

全局注册指令
app.directive('focus', vFocus);

使用:

html 复制代码
<input v-focus />

二、只能输入数字

javascript 复制代码
const vOnlyNumber = {
  mounted(el) {
    // 当元素挂载时设置事件监听器
    el.addEventListener('input', (event) => {
      // 使用正则表达式只允许数字通过
      event.target.value = event.target.value.replace(/[^\d]/g, '');
    });
  },
  // 如果需要处理组件更新后的情况,可以添加 updated 钩子
  updated(el) {
    el.addEventListener('input', (event) => {
      event.target.value = event.target.value.replace(/[^\d]/g, '');
    });
  }
};

// 全局注册指令
app.directive('only-number', vOnlyNumber);

使用:

html 复制代码
<input v-only-number type="text" />

最近发现一个比较好用的vue+node后台管理系统,vue2+vue3

菜单管理、权限管理 、角色管理、主题管理、字典管理、文件管理等等......

如果你正在学习和了解node和vue结合,不妨看看它:node-vue后台系统源码
相关推荐
程序员大阳15 小时前
副队长JavaScript教程(55)-DOM节点增删改查
javascript·dom·增删改查·节点·克隆
前端架构师-老李15 小时前
HTML与CSS基础第四课—strong、em、b、i 各表示什么
前端·css·html
peach15 小时前
同样是装依赖,为什么 npm 长成 node_modules,Maven 长成 .m2
npm·node.js·maven
king王一帅15 小时前
AI 时代一群人在卷笔记软件,我想先把 Markdown 编辑器的底层做好
前端·ai编程·markdown
用户114818678948416 小时前
盲水印:DCT-QIM 从原理到踩坑
前端
程序00716 小时前
天地图实现收货地址定位
前端·javascript·css
心梦轻舞16 小时前
从 14 道面试题,彻底搞懂 Event Loop 与 Vue2 nextTick 底层原理
javascript
去伪存真16 小时前
架构思考与演进:如何彻底破解 RAG 切块大小与语义完整性的工程悖论?
前端·agent
馒头不想说话16 小时前
AI剪辑工具降低创作门槛
前端