el-input是number类型时,取消上下箭头和鼠标滚轮事件,不用批量修改。

本文介绍了如何在项目中使用Vue组件时,通过修改全局样式和Vue实例中的事件监听器来美化el-input的箭头并移除默认的鼠标滚动增减数字功能。两种方法对比,一种是局部应用但麻烦,另一种是全局处理且更灵活。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中经常用到金额的输入框,会用到el-input标签

但是这个标签的上下箭头很丑 在app.less,全局样式中加此代码可以去掉。

/* input number类型取消增减箭头*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

去掉这个输入框的鼠标滚动就增减数字的默认事件 2种写法

第一种:

标签上面增加 @mousewheel.native.prevent,如下:

   <el-input v-model="row.checkMoney" @mousewheel.native.prevent type="number"></el-input>

这种方法需要用到的地方批量修改,比较麻烦。

第二种,

可以通过在Vue实例中添加一个全局事件监听器来实现。app.vue中代码如下:

    // 取消el-input的type=number的 默认事件 
    const handleWheel = (event) => {
      const target = event.target;
       //  找到el-input的type=number的输入框
      if (target.tagName === 'INPUT' && target.type === 'number') {
        //  去掉默认的滚轮事件
        event.preventDefault();
      }
    };

    onBeforeUnmount(() => {
      // 在这里执行清理操作
      document.removeEventListener('wheel', handleWheel);
    });

    onMounted(() => {
      document.addEventListener('wheel', handleWheel, { passive: false });
    });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值