vue代码触发select的change,element clearable事件

  vue代码触发select的change,element clearable事件

  本文主要介绍了vue elementUI使用el-select时如何解决变更事件的触发问题,有很好的参考价值,希望对大家有所帮助。来和边肖一起看看吧。

  如下所示:

  El-select v-model= level size= mini placeholder= please select :change= select change()

  el选项v-for= item in select :key= item . value :label= item . label :value= item . value /El-option

  /el-select

  我们需要的是选择后触发,但是你这样写的话,你会发现页面初始化的时候会触发很多次,选择后也会触发很多次。原因是我们用错了标签,所以应该用@change=selectChange()

  El-select v-model= level size= mini placeholder= please select @ change= select change()

  el选项v-for= item in select :key= item . value :label= item . label :value= item . value /El-option

  /el-select

  就是这样。v-bind的缩写是:v-on的缩写是@。下面是触发事件,应该是@

  补充知识:为elment-ui的el-select选择器添加onblur失焦事件产生的问题

  如下所示:

  div class=oneline

  Span用户号码:/span

  div class=block left

  El-选择

  :no-match-text=msg

  :popper-append-to-body=false

  Placeholder=请选择

  v-model=value 可过滤popper-class= content add _ select

  ref=select

  el选项

  v-for=用户中的项目

  :key= item.accont

  :label= item.accont

  :value= item.accont

  /el选项

  /el-select

  /div

  /div

  需要实现的功能是,查询输入时,如果用户输入的数据在选项中不匹配,则返回并显示不匹配的数据。

  JS代码如下

  这个。$ refs . select . $ refs . reference . $ refs . input . onblur=()={

  设have item=0;

  for(设I=0;ithis . users . length;i ){

  如果(这个。$ refs . select . query==this . users[I]。account){

  haveitem

  }

  }

  如果(!haveitem){

  This.value=没有匹配的数据

  //this.msg=

  }

  }

  这个。上面代码的$refs.select.query是选择器输入时查询框绑定的值。

  当选择器具有可过滤属性时,可以对其进行查询和选择。

  用开发者工具测试时,发现el-select选择器的数据绑定对象的值和查询输入的值不一样。然后,通过查看el-select源代码,发现查询输入的数据绑定在select.query上

  最初,el-select有一个模糊事件绑定函数属性。但使用后发现,有时失焦事件无法触发其生效,导致绑定的函数无法执行。

  看了源码,知道模糊事件函数有定时器什么的。我不太明白,但我知道这不是浏览器的原生失焦事件。

  所以这个问题可以通过使用vue的ref来定位选择器绑定原生onblur事件来避免。

  还可以使用操作dom查询导航到该选择器,方法是使用非焦点事件绑定的选择器。

  以上对vue elementUI使用el-select时change事件触发问题的解决方案就是边肖分享的全部内容。希望给大家一个参考,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: