为了账号安全,请及时绑定邮箱和手机立即绑定

el-autocomplete 的使用

标签:
vuex

效果图

业务场景

需要根据用户输入关键词模糊匹配进行提醒进而选择查询。

后端口代码

controll层

@PreAuthorize("@ss.hasPermi('system:qymp:list')")
@GetMapping("/getNsrmc")
public AjaxResult getNsrmc() {
    List<Map<String,String>> nsrmcAndValue = sysQympService.getNsrmc();
    return AjaxResult.success(nsrmcAndValue);
}

xml层

这里说明一下,用Map类型接收结果,否则前端el-autocomplete不渲染

<select id="getNsrmc" resultType="java.util.Map">
    select nsrmc from tbl_base_qympxx where yxbz = '0'
</select>

前端代码

<el-form-item label="企业名称" prop="nsrmc">
    <el-autocomplete
      value-key="nsrmc"
       class="inline-input"
       v-model="queryParams.nsrmc"
       :fetch-suggestions="querySearch"
       placeholder="请输入企业名称"
       :trigger-on-focus="false"
       clearable
       size="small"
       @keyup.enter.native="handleQuery"
       style="width: 350px"
    ></el-autocomplete>
</el-form-item>
querySearch(queryString, cb) {
      getNsrmc().then(response => {
        this.restaurants = response.data
        // console.log("before:"+this.restaurants)
        // let results = queryString ? this.restaurants.filter(nsrmc=>nsrmc.indexOf(queryString)>-1) : this.restaurants
        // 全字段匹配
        let results = this.restaurants.filter(nsrmcs => nsrmcs.nsrmc.indexOf(queryString) > -1)
        // 从头开始匹配
        // let results = this.restaurants.filter(nsrmcs => nsrmcs.nsrmc.indexOf(queryString) === -1)
        // console.log("after:"+results)
        // 调用 callback 返回建议列表的数据
        cb(results)
      })
    },
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消