input输入框的input事件

input输入框的input事件首先是一个坑,在IE和360浏览器中页面刷新会执行一遍input事件,在其他浏览器就没有,所以会有很大问题,导致做的自动补全列表直接显示,刷新页面也不能隐藏。<inputtype=”text”class=”comHeaderBanSearchSearchfl”placeholder=”请输入关键字查询”v-model=”inputVal”@keyup.enter=”sear…

大家好,又见面了,我是你们的朋友全栈君。

首先是一个坑,在IE和360浏览器中页面刷新会执行一遍input事件,在其他浏览器就没有,所以会有很大问题,导致做的自动补全列表直接显示,刷新页面也不能隐藏。

<input type="text" class="comHeaderBanSearchSearch fl" placeholder="请输入关键字查询" v-model="inputVal" @keyup.enter="searchBtn">

//在data中 我直接把inputVal的值拿到路由的值 这样页面一进来就不用走watch了 这样就避免了在created中赋值 是inputVal变化从而进行监听 还会走自动补全的函数了
data(){
return {
inputVal:this.$route.query.searchWord?this.$route.query.searchWord:'',
}
}

//监听 watch中
watch:{
inputVal(newVal,oldVal){
        this.inputChange();
      },
},
methods:{
      /*自动补全数据 methods*/
      inputChange() {
        if(this.inputVal!=''){
          getsuggestAPI({
            term: this.inputVal,
            num: 8
          }).then(res => {
            if (res.data.status) {
              this.suggest = res.data.data;
              this.issuggest=true;
              this.$store.commit('suggest',this.issuggest)
            }
          })
        }else{
          this.suggest=[];
          this.issuggest=false;
          this.$store.commit('suggest',this.issuggest)
        }


      },
},



 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133646.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号