elementui el-autocomplete 当输入建议调用了接口后为空时,输入建议的下拉框一闪而过然后为空,去掉这个状态的解决方法

在这里插入图片描述
如图所示,要实现在没有数据的时候就不要闪下面这个加载中,
解决方法步骤:
1.el-autocomplete自带的属性 debounce(输入建议的去抖延时),把它设为0
2.写自定义样式让所有下拉列表隐藏:.el-autocomplete-suggestion{display:none;}
3.在querySearch函数中让数据不为空的下拉列表显示(实现方法是通过自定义class名,然后让指定的class显示)

代码如下
在这里插入图片描述

        <el-autocomplete
        popper-class="search-autocpmplete"
        class="inline-input"
        v-model="normalSearchValue"
        :fetch-suggestions="querySearch"
        placeholder="请输入检索词"
        :trigger-on-focus="false"
        @keyup.enter.native="enterChange"
        :debounce="10"
        @select="handleSelect">
        </el-autocomplete>
.el-autocomplete-suggestion{display:none;}
  var showSuggestion = document.getElementsByClassName("search-autocpmplete")[0]
                cb(tmpArr)
                if(tmpArr.length){
                  showSuggestion.style.display = 'block'
                }

在这里插入图片描述

解决问题的博客地址https://www.cnblogs.com/wiliam/p/11757708.html

el-autocomplete聚焦时调用接口,可以通过在el-autocomplete的@focus事件中调用接口实现。具体的实现步骤如下: 1. 在el-autocomplete的模板中添加@focus事件,例如: ```html <el-autocomplete ref="autocomplete" class="autocomplete" v-model="form.name" :fetch-suggestions="querySearch" clearable placeholder="请选择客户" @select="choose_memebr" @clear="blur_memebr()" @focus="fetchData"></el-autocomplete> ``` 2. 在Vue实例中定义fetchData方法,该方法用于调用接口获取数据,例如: ```javascript methods: { fetchData() { // 调用接口获取数据的逻辑 // ... } } ``` 3. 在fetchData方法中编写调用接口的逻辑,可以使用axios或其他HTTP库发送请求,例如: ```javascript methods: { fetchData() { axios.get('/api/data') .then(response => { // 处理接口返回的数据 // ... }) .catch(error => { // 处理接口请求失败的情况 // ... }); } } ``` 通过以上步骤,当el-autocomplete聚焦时,会触发@focus事件,从而调用fetchData方法,实现在聚焦时调用接口获取数据的功能。 #### 引用[.reference_title] - *1* *2* [【ElementUIel-autocomplete 远程搜索自动填充](https://blog.csdn.net/wuli_youhouli/article/details/124673271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ElementUi使用el-autocomplete实现搜索建议(无数据匹配+点击clearable清除,不触发下拉选项)](https://blog.csdn.net/weixin_46074961/article/details/127449047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值