Vue中@change、@input和@blur、@focus的区别及@keyup介绍

Vue中@change、@input和@blur、@focus的区别及@keyup介绍

  • [1. @change、@input、@blur、@focus事件](#1. @change、@input、@blur、@focus事件)
  • [2. @keyup事件](#2. @keyup事件)
  • [3. 补充:el-input的@change事件自定义传参](#3. 补充:el-input的@change事件自定义传参)

1. @change、@input、@blur、@focus事件

  • @change在输入框发生变化且失去焦点后触发;

  • @input在输入框内容发生变化后触发(在界面加载数据以前)

  • @blur失去焦点就触发

  • @focus获得焦点就触发

注意:

  • @change先于@blur

  • @input和change的默认参数为输入内容,而blur的默认参数为dom节点。

在搜索下拉框选择数据后,即刻搜索的案例:

html 复制代码
<!-- 下拉搜索框 -->
        <el-select 
          v-model="listQuery.productId"
          clearable 
          placeholder="请选择协议号"
          filterable 
          class="filter-item"
          @change="handleFilter"   //添加@change事件,并调用筛选函数handleFilter()
         >
          <el-option
            v-for="item in productList"
            :key="item.id"
            :label="item.productId"
            :value="item.productId"
            :title="item.productId"
            style="width: 200px">
          </el-option>
        </el-select>

2. @keyup事件

Vue中的@keyup(键盘事件)是按键松开,当指定的按键松开会触发的事件,可以监听不同的按键响应。

事件代码 事件描述
@keyup.enter 回车按键松开
@keyup.left 左键按键松开
@keyup.right 右键按键松开
@keyup.up 上键按键松开
@keyup.down 下键按键松开
@keyup.delete 删除按键松开

在输入框输入数据并按下enter键后进行筛选示例如下:

html 复制代码
<el-input 
	v-model="listQuery.nameParam" 
	maxlength="30" 
	placeholder="请输入手机号或用户名" 
	style="width: 200px"
  	class="filter-item" 
  	clearable 
  	@clear="handleFilter"   //用户点击清空按钮则调用筛选函数,返回所有列表
  	@keyup.enter.native="handleFilter" />  //输入后按enter键则调用筛选函数,返回满足条件的列表

@click:可清空的单选模式下用户点击清空按钮时触发

3. 补充:el-input的@change事件自定义传参

  • 无效传参
html 复制代码
@change="change(val, index)"
  • 有效传参
html 复制代码
@change="((val)=>{change(val, index)})"
html 复制代码
<div v-for="(item,index) in itemList">
   <el-input
           v-model="item.value"
           @change="((val)=>{doSomething(val, index)})">
           
   </el-input>
 </div>
相关推荐
紫_龙10 分钟前
最新版vue3+TypeScript开发入门到实战教程之toRefs与toRef实用技巧
前端·javascript·typescript
大家的林语冰26 分钟前
Vite 第 1 个 Rolldown 稳定版正式发布,前端构建又一波“工业革命“
前端·javascript·vite
博客zhu虎康1 小时前
我的创作纪念日——五载创作路,以技术赴热爱
前端·经验分享·csdn·技术分享·我的创作纪念日
前端之虎陈随易2 小时前
Vite 8正式发布,内置devtool,Wasm SSR 支持
前端·人工智能·typescript·npm·node.js·wasm
AI_56782 小时前
基于智优达平台的Python教学实践:从环境搭建到自动评测
开发语言·前端·人工智能·后端·python
IT_陈寒2 小时前
JavaScript开发者必备的5个高效调试技巧,90%的人都不知道最后一个!
前端·人工智能·后端
嘉琪0012 小时前
前端数组核心方法(高级视角 + 场景 + 精简)——————2026 0309
开发语言·前端·javascript
jarvisuni2 小时前
GLM5实战测试,挑战Opus4.6 !
前端·数据库
颜酱2 小时前
二分图核心原理与判定算法
javascript·后端·算法
c++之路2 小时前
HTTP协议全解析:从原理到Web应用实战
前端·网络协议·http