美文网首页
Vue+Element-ui 输入框可模糊查询

Vue+Element-ui 输入框可模糊查询

作者: 残_忆 | 来源:发表于2019-10-21 17:43 被阅读0次
<el-autocomplete
  popper-class="my-autocomplete"
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
  @select="handleSelect">
  <i
    class="el-icon-edit el-input__icon"
    slot="suffix"
    @click="handleIconClick">
  </i>
  <template slot-scope="{ item }">
    <div class="name">{{ item.value }}</div>
    <span class="addr">{{ item.address }}</span>
  </template>
</el-autocomplete>

<style>
.my-autocomplete {
  li {
    line-height: normal;
    padding: 7px;

    .name {
      text-overflow: ellipsis;
      overflow: hidden;
    }
    .addr {
      font-size: 12px;
      color: #b4b4b4;
    }

    .highlighted .addr {
      color: #ddd;
    }
  }
}
</style>

<script>
  export default {
    data() {
      return {
        restaurants: [],
        state: ''
      };
    },
    methods: {
      querySearch(queryString, cb) {
        var restaurants = this.restaurants;
        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
        // 调用 callback 返回建议列表的数据
        cb(results);
      },
      createFilter(queryString) {
        return (restaurant) => {
          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);//字符串头查询
          //return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) != -1);模糊查询
        };
      },
      loadAll() {
        return [
          { "value": "三全鲜食(北新泾店)", "address": "长宁区新渔路144号" },
          { "value": "Hot honey 首尔炸鸡(仙霞路)", "address": "上海市长宁区淞虹路661号" },
          { "value": "新旺角茶餐厅", "address": "上海市普陀区真北路988号创邑金沙谷6号楼113" },
          { "value": "泷千家(天山西路店)", "address": "天山西路438号" },
        ];
      },
      handleSelect(item) {
        console.log(item);
      },
      handleIconClick(ev) {
        console.log(ev);
      }
    },
    mounted() {
      this.restaurants = this.loadAll();
    }
  }
</script>

相关文章

  • 查询功能点测试方法总结[转载]

    一、测试方法 查询类型包含单个查询、组合查询、输入框输入查询、时间控件查询四种场景: 1、功能实现 (1)支持模糊...

  • element-ui中用jsx实现自定义表头

    前段时间项目(vue+element-ui)中需要两个表格,且都需要查询功能;为了不使查询占用太多空间,于是想到在...

  • SQL模糊查询法

    SQL模糊查询语法LIKE 有关SQL模糊查询 执行 数据库查询时,有完整查询和模糊查询之分。 一般模糊语句如下:...

  • 模糊查询

    模糊查询 。_:任意一个字母。%:任意0~n个字母 查询姓名由5个字母构成名字:select * from 表名 ...

  • 模糊查询

    对于模糊查询,一般都是传关键字给后端,由后端来做。但是有时候一些轻量级的列表前端来做可以减少ajax请求,在一定程...

  • 模糊查询

  • 模糊查询

    indexof() split(separator, howmany)separator从该参数的地方分割,how...

  • 模糊查询

    模糊查询https://help.aliyun.com/document_detail/360437.html[h...

  • 前端indexDB封装可支持模糊查询

    js html

  • 节流函数的应用场景

    vue实现输入框的模糊查询(节流函数的应用场景) 上一篇讲到了javascript的节流函数和防抖函数,那么我们在...

网友评论

      本文标题:Vue+Element-ui 输入框可模糊查询

      本文链接:https://www.haomeiwen.com/subject/mqqcvctx.html