用vue实现input输入框下拉模糊搜索提示功能

效果图

20181009105633.png

1、实现方式一, v-on:input(缺点是:每次按一次键盘,都会触发一次,无论输入框里面的值有没有变化)
html

<input type="text" id="cardsNum2" v-model="searchVal"  value="1" v-on:input ="inputFunc">

js

//fuzzy_search() 调取模糊搜索的方法
inputFunc:function(){
if(this.searchVal.trim()){
    this.fuzzy_search(this.searchVal.trim());
}
}

2、实时监控searchVal的值,使用watch方法
html

<input type="text" id="cardsNum2" v-model="searchVal"  value="1"v-on:focus="focus()">

js

//fuzzy_list  为通过接口获得的模糊搜索的列表
methods:{
focus:function(){
  if(document.querySelector('input')==document.activeElement){
    this.fuzzy_search(this.searchVal.trim());
  }
 },
fuzzy_search:function(value){
    var that =this;
    if(!value){
        that.fuzzy_list=[];
        return;
    }
    //调取接口
 },
},
watch:{
 searchVal:function(){
    this.focus();
 },
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,018评论 3 119
  • 内网渗透
    backlion阅读 404评论 0 1
  • 我想说我是有梦想的,但是我从来都羞于表达出来,因为很多很多时候我都只是在梦,没有具体的付出行动。再牛逼伟大的梦想如...
    卜卜helen阅读 515评论 0 0
  • 他们说我病了,得了癔症,我想我不是病了而是疯了,或者耳朵坏掉了,又或者他们都疯了,不然为什么有这么多人对我说,...
    君浔阅读 504评论 0 1