vue中实时筛选el-option的内容

24 篇文章 0 订阅
13 篇文章 0 订阅
 根据表格 
 有一个搜索与下拉框/el-option根据过滤筛选
 显示对应的内容

实时筛选el-option的内容

效果图

如下所示 点击option选择对应的内容,底部的table展示过滤后的数据
在这里插入图片描述

代码

//可以看以下的参考代码
点击事件写@change或者@input
写在el-select上面可以展示对应的option选择的内容

在这里插入图片描述

参考代码

input输入框关键字过滤内容

https://blog.csdn.net/m0_53912016/article/details/120074659

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现一个带过滤筛选的多数据下拉列表,可以在之前的示例代码的基础上加上过滤器的逻辑。下面是一个简单的示例代码: ```html <template> <div> <el-select v-model="selectedValue" filterable placeholder="请选择" @visible-change="handleVisibleChange"> <vue-virtual-scroll-list :size="30" :remain="10" :bench="3" :items="visibleOptions" :key-field="'value'" @scroll-to="scrollTo"> <el-option v-for="option in visibleOptions" :key="option.value" :label="option.label" :value="option.value"></el-option> </vue-virtual-scroll-list> </el-select> </div> </template> <script> import Vue from 'vue' import VueVirtualScrollList from 'vue-virtual-scroll-list' import { ElSelect, ElOption } from 'element-ui' Vue.use(VueVirtualScrollList) Vue.use(ElSelect) export default { components: { VueVirtualScrollList, ElSelect, ElOption }, data() { return { options: [], // 所有选项 visibleOptions: [], // 可见选项 selectedValue: null, // 已选的值 lastScrollIndex: 0, // 上次滚动的索引 filterText: '' // 过滤文本 } }, mounted() { // 模拟获取数据 this.options = Array.from({ length: 10000 }).map((item, index) => ({ value: index, label: `选项${index}` })) }, computed: { filterOptions() { // 根据过滤文本筛选选项 return this.options.filter(option => option.label.includes(this.filterText)) } }, watch: { filterText() { // 每次过滤文本发生变化时,重新计算可见选项 this.visibleOptions = this.filterOptions.slice(0, 30) this.lastScrollIndex = 0 } }, methods: { handleVisibleChange(visible) { // 当下拉框展开时,初始化可见选项 if (visible) { this.visibleOptions = this.filterOptions.slice(0, 30) } }, scrollTo(index) { // 根据滚动的位置计算需要展示的可见选项 const startIndex = index > this.lastScrollIndex ? this.lastScrollIndex + 1 : index const endIndex = startIndex + 30 this.visibleOptions = this.filterOptions.slice(startIndex, endIndex) this.lastScrollIndex = index } } } </script> ``` 在上面的代码,我们给`el-select`加上了`filterable`属性,使其变成可过滤的下拉框。在`computed`计算出筛选后的选项,然后在`watch`监听过滤文本的变化,每次变化时重新计算可见选项。最终实现了一个带过滤筛选的多数据下拉列表。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值