elementUI input输入框模糊查询

这是一个关于Vue.js的示例,展示如何创建一个包含自动补全功能的搜索表单。`form-inline`布局用于展示输入框,并通过`el-autocomplete`组件与`querySearch`方法结合,实现实时搜索建议。数据从`restaurants`数组中获取并过滤,当用户输入时显示匹配的地址。
摘要由CSDN通过智能技术生成
<template>
  <div class="app-container">
    <div class="form-container">
      <el-form
        :inline="true"
        :model="formInline"
        :rules="rules"
        ref="ruleForm"
        label-position="right"
        label-width="90px"
      >
        <el-row>
          <el-form-item label="企业名称:">
            <el-autocomplete
              class="inline-input"
              v-model="formInline.inputName"
              :fetch-suggestions="querySearch"
              placeholder="请输入内容"
            ></el-autocomplete>
          </el-form-item>
        </el-row>
      </el-form>
    </div>
  </div>
</template>

<script>
export default {
  name: "PublicityResults",
  data() {
    return {
      rules: {},
      formInline: {
        inputName: undefined, //输入框输入的双向绑定的数据
      },
      restaurants: [], //后端获取输入框的数据
    };
  },
  mounted() {
    this.restaurants = this.loadAll();
  },
  methods: {
    // 获取数据
    loadAll() {
      return [
        { value: "三全鲜食(北新泾店)", address: "长宁区新渔路144号" },
        {
          value: "Hot honey 首尔炸鸡(仙霞路)",
          address: "上海市长宁区淞虹路661号",
        },
        {
          value: "新旺角茶餐厅",
          address: "上海市普陀区真北路988号创邑金沙谷6号楼113",
        },
        { value: "泷千家(天山西路店)", address: "天山西路438号" },
        {
          value: "胖仙女纸杯蛋糕(上海凌空店)",
          address: "上海市长宁区金钟路968号1幢18号楼一层商铺18-101",
        },
        { value: "贡茶", address: "上海市长宁区金钟路633号" },
        {
          value: "豪大大香鸡排超级奶爸",
          address: "上海市嘉定区曹安公路曹安路1685号",
        },
        {
          value: "茶芝兰(奶茶,手抓饼)",
          address: "上海市普陀区同普路1435号",
        },
        { value: "十二泷町", address: "上海市北翟路1444弄81号B幢-107" },
        { value: "星移浓缩咖啡", address: "上海市嘉定区新郁路817号" },
        { value: "阿姨奶茶/豪大大", address: "嘉定区曹安路1611号" },
        { value: "新麦甜四季甜品炸鸡", address: "嘉定区曹安公路2383弄55号" },
        {
          value: "Monica摩托主题咖啡店",
          address: "嘉定区江桥镇曹安公路2409号1F,2383弄62号1F",
        },
        {
          value: "浮生若茶(凌空soho店)",
          address: "上海长宁区金钟路968号9号楼地下一层",
        },
        { value: "NONO JUICE  鲜榨果汁", address: "上海市长宁区天山西路119号" },
        { value: "CoCo都可(北新泾店)", address: "上海市长宁区仙霞西路" },
        {
          value: "快乐柠檬(神州智慧店)",
          address: "上海市长宁区天山西路567号1层R117号店铺",
        },
        {
          value: "Merci Paul cafe",
          address: "上海市普陀区光复西路丹巴路28弄6号楼819",
        },
        {
          value: "猫山王(西郊百联店)",
          address: "上海市长宁区仙霞西路88号第一层G05-F01-1-306",
        },
        { value: "枪会山", address: "上海市普陀区棕榈路" },
        { value: "纵食", address: "元丰天山花园(东门) 双流路267号" },
        { value: "钱记", address: "上海市长宁区天山西路" },
        { value: "壹杯加", address: "上海市长宁区通协路" },
        {
          value: "唦哇嘀咖",
          address: "上海市长宁区新泾镇金钟路999号2幢(B幢)第01层第1-02A单元",
        },
        { value: "爱茜茜里(西郊百联)", address: "长宁区仙霞西路88号1305室" },
        {
          value: "爱茜茜里(近铁广场)",
          address:
            "上海市普陀区真北路818号近铁城市广场北区地下二楼N-B2-O2-C商铺",
        },
        {
          value: "鲜果榨汁(金沙江路和美广店)",
          address: "普陀区金沙江路2239号金沙和美广场B1-10-6",
        },
        {
          value: "开心丽果(缤谷店)",
          address: "上海市长宁区威宁路天山路341号",
        },
        { value: "超级鸡车(丰庄路店)", address: "上海市嘉定区丰庄路240号" },
        { value: "妙生活果园(北新泾店)", address: "长宁区新渔路144号" },
        { value: "香宜度麻辣香锅", address: "长宁区淞虹路148号" },
        {
          value: "凡仔汉堡(老真北路店)",
          address: "上海市普陀区老真北路160号",
        },
        { value: "港式小铺", address: "上海市长宁区金钟路968号15楼15-105室" },
        { value: "蜀香源麻辣香锅(剑河路店)", address: "剑河路443-1" },
        { value: "北京饺子馆", address: "长宁区北新泾街道天山西路490-1号" },
        {
          value: "饭典*新简餐(凌空SOHO店)",
          address: "上海市长宁区金钟路968号9号楼地下一层9-83室",
        },
        {
          value: "焦耳·川式快餐(金钟路店)",
          address: "上海市金钟路633号地下一层甲部",
        },
        { value: "动力鸡车", address: "长宁区仙霞西路299弄3号101B" },
        { value: "浏阳蒸菜", address: "天山西路430号" },
        { value: "四海游龙(天山西路店)", address: "上海市长宁区天山西路" },
        {
          value: "樱花食堂(凌空店)",
          address: "上海市长宁区金钟路968号15楼15-105室",
        },
        { value: "壹分米客家传统调制米粉(天山店)", address: "天山西路428号" },
        {
          value: "福荣祥烧腊(平溪路店)",
          address: "上海市长宁区协和路福泉路255弄57-73号",
        },
        {
          value: "速记黄焖鸡米饭",
          address: "上海市长宁区北新泾街道金钟路180号1层01号摊位",
        },
        { value: "红辣椒麻辣烫", address: "上海市长宁区天山西路492号" },
        {
          value: "(小杨生煎)西郊百联餐厅",
          address: "长宁区仙霞西路88号百联2楼",
        },
        { value: "阳阳麻辣烫", address: "天山西路389号" },
        {
          value: "南拳妈妈龙虾盖浇饭",
          address: "普陀区金沙江路1699号鑫乐惠美食广场A13",
        },
      ];
    },

    querySearch(queryString, cb) {
      let restaurants = this.restaurants;
      let results = queryString
        ? restaurants.filter(this.createFilter(queryString))
        : restaurants;
      // 调用 callback 返回建议列表的数据
      cb(results);
    },
    createFilter(queryString) {
      return (restaurant) => {
        return (
          restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) > -1
        );
      };
    },
  },
};
</script>
Element UI是一个基于Vue.js的桌面端组件库,它提供了一系列的UI组件,其中包括Input输入框。在使用Element UI的Input组件时,通常会有一些默认的样式,比如聚焦时的蓝色边框。要去除这个蓝色边框,可以通过覆盖默认的样式来实现。 以下是一些方法可以去除Input输入框聚焦时的蓝色边框: 1. 使用全局样式覆盖。你可以在全局样式文件中定义一个新的CSS规则,这个规则会覆盖掉Element UI中对应Input聚焦样式。例如: ```css /* 全局样式覆盖 */ input::-webkit-input-placeholder { /* WebKit浏览器的默认样式 */ color: red; } input:-moz-placeholder { /* Firefox 4到18的默认样式 */ color: red; } input::-moz-placeholder { /* Firefox 19及以后的默认样式 */ color: red; } input:-ms-input-placeholder { /* IE的默认样式 */ color: red; } input:focus { outline: none; /* 去除聚焦时的轮廓线 */ } ``` 2. 为特定的Input元素添加类名,并定义样式。如果你想要对特定的Input元素去除蓝色边框,可以给该元素添加一个特定的类名,然后在样式表中定义该类名对应的CSS规则: ```html <el-input class="no-outline"></el-input> ``` ```css /* 针对特定元素的样式覆盖 */ .no-outline:focus { outline: none; /* 去除聚焦时的轮廓线 */ } ``` 3. 使用深度选择器。Element UI提供了一个深度选择器(>>> 或 /deep/),可以用来穿透组件的样式封装。使用这个深度选择器,可以更精确地覆盖内部的样式: ```css /* 使用深度选择器 */ /deep/ .el-input .el-input__inner:focus { outline: none; /* 去除聚焦时的轮廓线 */ } ``` 请注意,对于Vue 3项目,深度选择器的写法可能有所不同,因为Vue 3对样式穿透的支持有所变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许你今世繁华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值