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元素,对输入内容进行过滤

相关推荐
程序员大阳3 小时前
副队长JavaScript教程(49)-主动抛出异常与错误类型
javascript·异常处理·error·throw·错误类型
hhhjhl3 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
康小汪3 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
Flynt6 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
slongzhang_7 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
北冥有鱼7 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
liyi_hz200810 小时前
O2OA(翱途) V10.1 即将发布|功能再升级,安全再加固,协同更高效!
java·javascript·windows·开源软件
apollo_qwe10 小时前
大模型 API 接通了,AI 聊天页面为什么还是不好用?
前端·vue.js·人工智能
志尊宝11 小时前
AI原生前端开发(029):AI辅助的文档自动生成
javascript·人工智能·ai-native
一个游离的指针11 小时前
ES6新特性:let、const、块级作用域
开发语言·javascript·es6