vue中清空搜索框(input)之后自动刷新(获取)列表

问题场景:我们在搜索框中搜索完某用户(某商品)后,如何搜索框重新刷新用户列表(商品列表)?

解决办法:搜索框中添加一个"x"号,点击重新获取列表

搜索出某用户后
在这里插入图片描述
点击x号清除并重新获取列表
在这里插入图片描述

核心代码

// 把事件换成获取列表的事件
clearable @clear="findUserByName(searchName)"

代码示例

  <div class="search" style="text-align:center">
      <span>条件查询</span>
      <el-input v-model="searchName" placeholder="输入搜索值" style="width: 350px" clearable @clear="findUserByName(searchName)">
        <el-button slot="append" icon="el-icon-search" @click="findUserByName(searchName)"></el-button>
      </el-input>
    </div>
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用Vue的自定义组件来实现一个多选可搜索下拉框,以下是一个简单的实现思路: 1. 创建一个Vue组件,并在模板定义一个输入框和一个下拉框。 2. 当输入框输入内容时,调用一个方法来过滤下拉框的选项,并将过滤后的选项展示在下拉框。 3. 当用户点击某个选项时,将其添加到已选列表,同时清空输入框的内容。 4. 当用户点击已选列表的某个选项时,将其从已选列表删除。 5. 在组件定义一个属性,用于控制下拉框是否展示。 6. 当用户点击输入框时,将下拉框展示出来。 7. 当用户点击下拉框外的区域时,将下拉框隐藏起来。 具体实现可以参考以下代码: ```html <template> <div class="multiselect"> <div class="selected-items"> <div v-for="(item, index) in selectedItems" :key="index" class="selected-item"> {{ item }} <span @click="removeItem(index)">x</span> </div> </div> <input type="text" @click="showDropdown = true" v-model="searchText" placeholder="Search..."> <div class="dropdown" v-show="showDropdown"> <div v-for="(option, index) in filteredOptions" :key="index" @click="addItem(option)"> {{ option }} </div> </div> </div> </template> <script> export default { data() { return { options: ['Option 1', 'Option 2', 'Option 3', 'Option 4'], selectedItems: [], searchText: '', showDropdown: false } }, computed: { filteredOptions() { return this.options.filter(option => option.toLowerCase().includes(this.searchText.toLowerCase())) } }, methods: { addItem(item) { this.selectedItems.push(item) this.searchText = '' this.showDropdown = false }, removeItem(index) { this.selectedItems.splice(index, 1) } }, mounted() { document.addEventListener('click', (event) => { if (!this.$el.contains(event.target)) { this.showDropdown = false } }) } } </script> ``` 这个组件会根据用户输入的搜索关键词过滤下拉框的选项,并将过滤后的选项展示在下拉框。当用户点击某个选项时,该选项会被添加到已选列表。当用户点击已选列表的某个选项时,该选项会被从已选列表删除。用户可以点击输入框来展开下拉框,也可以点击下拉框外的区域来收起下拉框。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值