el-select开启filterable模式,限制输入框输入类型

遇到el-select开启filterable模式查询,下拉框内容是文字与数字组合版,导致校验不准,且没有属性能直接限制focus输入的内容,这时候可以用自定义属性来解决

实例:(以只能输入数字为例)

复制代码
<el-form-item
          label="ID"
          prop="Id"
        >
          <el-select
            ref="selectRef"
            v-model="dialogForm.Id"
            :remote-method="handleChange"
            :loading="loading"
            filterable
            remote
            clearable
            placeholder="请输入ID搜索"
            @change="handleChange"
             v-numeric-only
          >
            <el-option
              v-for="(item,index) in List"
              :key="index"
              :label="item.name+'('+item.Id+')'"
              :value="item.Id"
            />
          </el-select>
        </el-form-item>

以上template内容

复制代码
   data(){},
  directives: {
     'numeric-only': {
       inserted(el) {
         const input = el.querySelector('.el-input__inner');
         input.addEventListener('input', function () {
             if (this.value.length > 10) {
                 this.value = this.value.slice(0, 10)
             }
             this.value = this.value.replace(/[^\d]/g, '');
         });
       }
     }
   }
methods:{
	//change事件再次强制替换
	 handleChange(value) {
      let val = value.toString().replace(/[^\d]/g, '')
      if (val.length > 10) {
        val = val.slice(0, 10)
      }
     //  this.getMethod(val).    此处调接口
    }
}

以上script内容,思路是直接获取到它的input元素,对输入内容进行过滤

相关推荐
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
jin1233221 小时前
React Native鸿蒙跨平台完成剧本杀组队详情页面,可以复用桌游、团建、赛事等各类组队详情页开发
javascript·react native·react.js·ecmascript·harmonyos
经年未远2 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue
刘一说2 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
jin1233223 小时前
基于React Native鸿蒙跨平台移动端表单类 CRUD 应用,涵盖地址列表展示、新增/编辑/删除/设为默认等核心操作
react native·react.js·ecmascript·harmonyos
可触的未来,发芽的智生3 小时前
狂想:为AGI代称造字ta,《第三类智慧存在,神的赐名》
javascript·人工智能·python·神经网络·程序人生
徐同保3 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
fanruitian3 小时前
uniapp 创建项目
javascript·vue.js·uni-app
刘一说4 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h4 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js