vue+element模拟百度搜索(输入建议)

1、页面部分

 <el-form-item label="供应商号" prop="lifnrid">
           <el-autocomplete
            class="el-input"
            style="width: 545px"
            v-model="form.lifnrid"
            :fetch-suggestions="getMbLFA"
            placeholder="请输入供应商号"
            @select="selectGroup"
            :trigger-on-focus="false">
          </el-autocomplete>
 </el-form-item>

fetch-suggestions 是一个返回输入建议的方法属性,在该方法中你可以在输入建议数据准备好时通过 cb(data) 返回到 autocomplete 组件中. 

2、变量定义初始化部分:

  data() {
    return {
      // 供应商表格数据
      mbLFA1List: [],
      // 表单参数
      form: {},
    }
}

3、:fetch-suggestions方法getMbLFA()

/*搜索供应商*/
    getMbLFA(queryString, cb){
      if(this.form.lifnrid!=null && this.form.lifnrid!=''){
        listMbLFA1({lifnrid:this.form.lifnrid}).then(res=>{
          var arr = [];
          for (var i = 0; i < res.rows.length; i++){
            if (res.rows[i].lifnrid.indexOf(this.form.lifnrid) >= 0){
              arr.push({
                value:res.rows[i].lifnrid + '-' +res.rows[i].name1,
                id:res.rows[i].lifnrid,
                label:res.rows[i].name1,
              })
            }
          }
          this.mbLFA1List = arr;
          cb(this.mbLFA1List);
        });
      }
    },

4、 在下拉框进行选择时@select输入框赋值方法selectGroup()

    selectGroup(item) {
      this.form.lifnrid = item.id;
      this.doAutoFill();
    },

结论:el-autocomplete(动态搜索)控件在操作流畅度方远大于el-select(先加载全部待选数据-数据仅限于初始化的数据)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静梵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值