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

2023-02-07 12:06:30

目录一、@change、@input、@blur事件二、@keyup事件补充:el-input的@change事件自定义传参总结一、@change、@input、@blur事件@change在输入框发...

目录
一、@change、@input、@blur事件
二、@keyup事件
补充:el-input的@change事件自定义传参
总结

一、@change、@input、@blur事件

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

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

@blur失去焦点就触发

注意:

@change先于@blur

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

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

<!-- 下拉搜索框 -->
        <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>

二、@keyup事件

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

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

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

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

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

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

一、无效传参

@change="change(val, index)"

二、有效传参

@change="((val)=>{change(val, index)})"

<div v-for="(item,index) in itemList">
   <el-input
           v-model="item.value"
           @change="((val)=>{DOSomething(val, index)})">
           
   </el-input>
 </div>

总结

到此这篇关于Vue中@change、@input和@blur的区别及@keyup介绍的文章就介绍到这了,更多相关Vue中@change、@input和@blur内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!