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

45 篇文章 0 订阅

列如在平时的表格搜索框

核心代码

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

// searchName:重新加载数据的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用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> ``` 这个组件会根据用户输入的搜索关键词过滤下拉框的选项,并将过滤后的选项展示在下拉框。当用户点击某个选项时,该选项会被添加到已选列表。当用户点击已选列表的某个选项时,该选项会被从已选列表删除。用户可以点击输入框来展开下拉框,也可以点击下拉框外的区域来收起下拉框。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

山顶的云彩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值