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后台系统源码
相关推荐
传人once6 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
用户033307413956 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
web3d5206 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
daisychey6 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒7 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员8 小时前
iOS冷启动监控Demo
前端
光影少年8 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱8 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO8 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天9 小时前
趋势过滤:避免被“假突破“反复打脸
前端