ElementUI实现input框的远程搜索实时下拉框展示搜索值

1.element是可以实现input框远程搜索服务器相关数据实时下拉框展示数据

相关的官网链接:http://element-cn.eleme.io/#/zh-CN/component/input

 

2.前端页面

 

 

<el-autocomplete
        v-model="name"
        :fetch-suggestions="querySearch"
        placeholder="请输入名称"
        :trigger-on-focus="false"
></el-autocomplete>

说明:fetch-suggestions:返回输入建议的方法,仅当你的输入建议数据 resolve 时,通过调用 callback(data:[]) 来返回它(搜索和回显方法)

           trigger-on-focus:是否在输入框 focus 时显示建议列表(如果为true的时候则获取焦点就请求后台方法取相应数据,反之则是在输入内容后再触发搜索按钮)

3.js的方法

 

querySearch:function(queryString, cb) {
    $.ajax({
        type: "POST",
        url: baseURL + "/mgt/info/listAuto",
        dataType:"json",
        data: {"value":queryString},
        success: function (result) {
            if (result.code == 0) {
                var restaurants = vm.restaurants;
                // 调用 callback 返回建议列表的数据
                cb(restaurants);
            } else {
                alert(result.msg);
            }
        }
    });

},

说明:其中URL请求后台查询方法后返回的数据直接通过cb()方法回填数据。需要注意的是返回的数据中要有value属性值,并且value值就是下拉框回显展示的值。

 

可以使用JavaScript和HTML来实现搜索框下拉框,并且在搜索框发生变化时,下拉框的选项也会相应地变化。以下是一个简单的实现示例: HTML代码: ``` <div class="dropdown"> <input type="text" placeholder="Search" id="searchInput" onkeyup="filterOptions()"> <button class="dropbtn" onclick="toggleDropdown()">▼</button> <div class="dropdown-content" id="dropdownContent"> <a href="#">Option 1</a> <a href="#">Option 2</a> <a href="#">Option 3</a> <a href="#">Option 4</a> <a href="#">Option 5</a> <a href="#">Option 6</a> </div> </div> ``` JavaScript代码: ``` // 获取下拉框搜索框 var dropdownContent = document.getElementById("dropdownContent"); var searchInput = document.getElementById("searchInput"); // 显示/隐藏下拉框 function toggleDropdown() { dropdownContent.classList.toggle("show"); } // 过滤下拉框选项 function filterOptions() { // 获取搜索框 var filter = searchInput.value.toUpperCase(); // 获取所有选项 var options = dropdownContent.getElementsByTagName("a"); // 遍历所有选项 for (var i = 0; i < options.length; i++) { var option = options[i]; // 如果选项的文本中包含搜索框,则显示该选项,否则隐藏该选项 if (option.innerHTML.toUpperCase().indexOf(filter) > -1) { option.style.display = ""; } else { option.style.display = "none"; } } } ``` CSS代码: ``` /* 下拉框样式 */ .dropdown { position: relative; display: inline-block; } /* 按钮样式 */ .dropbtn { background-color: #4CAF50; color: white; padding: 8px; font-size: 16px; border: none; cursor: pointer; } /* 下拉框内容样式 */ .dropdown-content { display: none; position: absolute; z-index: 1; background-color: #f1f1f1; min-width: 160px; overflow: auto; border: 1px solid #ddd; max-height: 200px; } /* 选项样式 */ .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } /* 显示下拉框 */ .show { display: block; } ``` 这个示例实现了一个带搜索框下拉框,当搜索框发生变化时,下拉框的选项也会相应地变化。你可以根据自己的需要修改样式和选项列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值