2048
登录
没  有  难  学  的  前  端
登 录
×
<返回上一级

vue_实现模糊搜索功能,vue-element_ui改编input模糊查询

vue模糊查询_模糊搜索作者:猿2048志愿者

 vue实现模糊搜索功能
根据输入的内容进行查找数据,然后展示含有输入内容的数据

<input v-model="issue_content" v-on:input ="inputFunc" type="text" placeholder="如何修改密码">

<div class="serch_result" v-show="serch_result_issue">
        <li v-for="item in searchData">
        {{ item.name }}
        </li>
    </div>
    
数据结构

data () {
    return {
      issue_content:"",//输入框中的内容
      serch_result_issue:false,//控制搜索的问题显示隐藏
      serch_result:[
        {name:"忘记了密码怎么办?"},
        {name:"如何成为星签约者"},
        {name:"什么样的文章能够被星官方推荐"},
        {name:"我在哪里可以找到自己发布的文章"},
        {name:"忘记了密码怎么办"}
      ]
    }
  },
methods:{
    //监听输入事件,当input中有内容时,下面的搜索列表显示出来
    inputFunc(){
      if(this.issue_content.length>0){
        this.serch_result_issue = true;
      }else{
        this.serch_result_issue = false
      }
    }
  },
//计算属性,当输入内容的时候下面的方法就会根据你输入的内容来过滤serch_result数组中的数据
  computed: {
    searchData() {
      var issue_content = this.issue_content;
      if (issue_content) {
        return this.serch_result.filter(function(product) {
          return Object.keys(product).some(function(key) {
            return String(product[key]).toLowerCase().indexOf(issue_content) > -1
          })
        })
      }
      return this.products;
    }
  }

vue-和第,。年过事工宗据指数遍互业经搞断果会element ui改编inpu抖要支圈者器说是事天开的。年后编定功口小发还应久剑t模糊查询

<el-autocomplete class="inline-input" value-key='name' v-model="input" :fetch-suggestions="querySearch" placeholder="请输入内容" :trigger-on-focus="false" @select="handleSelect"></el-autocomplete>

data:{
    return{
        input:''
    }
},
methods:{
    async querySearch(queryString, cb) {
      var chId = '';
      var user = {
        mer_id:'',
        ch_id:chId
      }
      //这里是从后台获取数据
      await getMohu(queryString,user).then(res=>{
        // this.restaurants = res
        this.restaurants = [
          {
            name:'粤A05965D'
          },
          {
            name:'粤A02637D'
          },
          {
            name:'粤A02891D'
          }
        ]
        var restaurants = this.restaurants;
        var results = queryString
          ? this.searchData(queryString)
          : restaurants;
        // 调用 callback 返回建议列表的数据
        cb(results);
      })
    },
    searchData(issue_content) {
        return this.restaurants.filter(function(product) {
          return Object.keys(product).some(function(key) {
            return String(product[key]).toUpperCase().indexOf(issue_content) > -1
          })
        })
      return this.products;
    },
    handleSelect(item) {
      console.log(item);
    }
}

 

本文来源于网络:查看 >
« 上一篇:vue+element极速造表单
» 下一篇:Vue+element图片上传
评论
点击刷新
评论

分享“案例”中大奖

开始分享 中奖规则
分享链接:
联系方式:
2021-03-07中奖名单(每日10名)
×添加代码片段