当前位置: 首页 > news >正文

el-select的搜索功能

el-select的相关信息:

最基本信息

v-model的值为当前被选中的el-option的 value 属性值

:label是选择器可以看到的内容

过滤搜索

普通过滤搜索

<el-selectv-model="selectedCountry"placeholder="请选择国家"filterable:loading="loading"style="width: 130%;"><el-optionv-for="item in filteredCountries":key="item":label="item":value="item"/>
</el-select>

其中filteredCountries需要在created中初始化完成或者直接在data中定义,之后如果想实现select选择器中过滤(根据你的输入),可以添加filterable,就可以输入数据自动匹配符合条件的filteredCountries中的item列表,大致的逻辑应该是不区分大小写的模糊搜索。

远程搜索

如果你不想使用默认的搜索,可以使用远程搜索:

<el-selectv-model="selectedCountry"placeholder="请选择国家"filterableremote:remote-method="remoteMethod":loading="loading"style="width: 130%;">
remoteMethod(query) {if (query !== '') {this.loading = true;setTimeout(() => {this.loading = false;this.filteredCountries = this.countries.filter(item =>item.toLowerCase().includes(query.toLowerCase()));}, 200);} else {this.filteredCountries = this.countries;}}

这个示例代码中,remoteremote-method是为了实现远程搜索的功能。

  1. remote: 当你在输入框中输入内容时,启动远程搜索模式。这意味着输入内容不会直接过滤已有数据,而是通过调用远程方法来获取匹配的数据。
  2. remote-method: 这是你自定义的一个方法,用来处理用户输入并更新候选项。在这个示例中,当输入内容(query)不为空时:
    • 设置loadingtrue,表示正在加载数据。
    • 使用setTimeout模拟数据加载延迟,200毫秒后将loading设置为false
    • 使用filter方法从现有的countries数据中筛选出符合输入内容的项,并更新到filteredCountries中。
    • 如果输入内容为空,则直接将所有的countries数据赋值给filteredCountries

远程搜索模式相关解释

远程搜索模式(Remote Search Mode)是一种实现搜索功能的方式,特别是在需要通过服务器或远程数据源获取数据时。与本地搜索不同,远程搜索会在用户输入搜索关键字时,通过调用一个远程方法来获取或过滤数据。这样做的好处是可以处理大量数据或动态数据,而不会将所有数据都加载到本地。

在上面代码中,remote属性启用远程搜索模式,而remote-method是实际执行远程搜索的函数。具体过程如下:

  1. 用户输入:当用户在输入框中输入内容时,会触发远程搜索。
  2. 调用远程方法remote-method会被调用。这个方法根据用户输入的关键字,查询符合条件的数据。
  3. 更新数据:远程方法获取到数据后,将其更新到组件中,以供显示。

这种模式特别适用于以下情况:

  • 数据量非常大,无法一次性加载到本地。
  • 数据需要从服务器端实时获取或过滤。
  • 数据需要动态更新,例如从数据库或API接口中获取。

数据量非常大,无法一次性加载到本地的意思是filteredCountries值无法一次性在created中获取吗,我这里如果在created中获取了这个数据,是不是就意味着可以一次性加载到本地了,那我写这个remote相关的内容是不是白写

远程搜索总结

如果你的filteredCountries数据在组件的created生命周期钩子中一次性获取,那么理论上你是可以将所有数据一次性加载到本地的。这种情况下,你确实不需要使用远程搜索模式和相关方法,因为所有的数据已经在本地了,可以直接进行过滤和展示。

但是需要注意的是,是否选择一次性加载数据到本地,取决于数据量的大小和性能的考虑。如果数据量非常大(例如成千上万条数据),一次性加载到本地可能会导致性能问题,比如页面加载变慢或浏览器内存占用过高。这种情况下,使用远程搜索可以显著改善用户体验,因为它只加载和展示用户当前需要的那部分数据。

总结一下:

  • 数据量较小:可以在created中一次性加载数据,直接在本地进行过滤和展示。
  • 数据量非常大:建议使用远程搜索模式,只加载和展示用户输入匹配的数据,避免性能问题。

相关文章:

el-select的搜索功能

el-select的相关信息&#xff1a; 最基本信息 v-model的值为当前被选中的el-option的 value 属性值 :label是选择器可以看到的内容 过滤搜索 普通过滤搜索 <el-selectv-model"selectedCountry"placeholder"请选择国家"filterable:loading"lo…...

MFC实现全屏功能

之前全屏都是参考&#xff1a; MFC单文档&#xff08;SDI&#xff09;全屏程序的实现 主要思路就是将各种菜单工具栏隐藏恢复。 随着MFC的升级&#xff0c;MFC框架本身就具备了全屏的功能。 微软有一个全屏实现类&#xff1a; CFullScreenImpl Class managing full-screen mod…...

网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)

虚拟专用网络&#xff08;VPN&#xff09;详细介绍 虚拟专用网络&#xff08;VPN&#xff09;通过在公共网络上创建加密连接来保护数据传输的安全性和隐私性。 工作原理 VPN的工作原理涉及建立安全隧道和数据加密&#xff1a; 隧道协议&#xff1a;使用协议如PPTP、L2TP/IP…...

v-model 根据后端接口返回的数据动态地确定要绑定的变量

在 Vue 中&#xff0c;v-model 是用于创建双向绑定的指令。通常&#xff0c;它用于与组件或表单元素的值进行绑定。但有时你可能需要根据后端接口返回的数据动态地确定要绑定的变量。 你可以通过以下步骤来实现这个需求&#xff1a; 步骤 1: 获取后端接口数据 首先&#xff…...

图形开发基础之在WinForms中使用OpenTK.GLControl进行图形绘制

前言 GLControl 是 OpenTK 库中一个重要的控件&#xff0c;专门用于在 Windows Forms 应用程序中集成 OpenGL 图形渲染。通过 GLControl&#xff0c;可以轻松地将 OpenGL 的高性能图形绘制功能嵌入到传统的桌面应用程序中。 1. GLControl 的核心功能 OpenGL 渲染上下文&…...

离散数学重点复习

第一章.集合论 概念 1.集合是不能精确定义的基本数学概念.通常是由指定范围内的满足给定条件的所有对象聚集在一起构成的 2.制定范围内的每一个对象称为这个集合的元素 3.固定符号如下: N:自然数集合 Z:整数集合 Q:有理数集合 R:实数集合 C:复数集合 4.集合中的元素是…...

Javaweb梳理21——Servlet

Javaweb梳理21——Servlet 21 Servlet21.1 简介21.3 执行流程21.4 生命周期4.5 方法介绍21.6 体系结构21.7 urlPattern配置21.8 XML配置 21 Servlet 21.1 简介 Servlet是JavaWeb最为核心的内容&#xff0c;它是Java提供的一门动态web资源开发技术。使用Servlet就可以实现&…...

推荐学习笔记:矩阵补充和矩阵分解

参考&#xff1a; 召回 fun-rec/docs/ch02/ch2.1/ch2.1.1/mf.md at master datawhalechina/fun-rec GitHub 业务 隐语义模型与矩阵分解 协同过滤算法的特点&#xff1a; 协同过滤算法的特点就是完全没有利用到物品本身或者是用户自身的属性&#xff0c; 仅仅利用了用户与…...

etcd分布式存储系统快速入门指南

在分布式系统的复杂世界中&#xff0c;确保有效的数据管理至关重要。分布式可靠的键值存储在维护跨分布式环境的数据一致性和可伸缩性方面起着关键作用。 在这个全面的教程中&#xff0c;我们将深入研究etcd&#xff0c;这是一个开源的分布式键值存储。我们将探索其基本概念、特…...

解决VUE3 Vite打包后动态图片资源不显示问题

解决VUE3 Vite打包后动态图片资源不显示问题 <script setup> let url ref()const setimg (item)>{let src ../assets/image/${e}.pngurl.value src }</script><template><div v-for"item in 6"><h1 click"setimg(item)"…...

大数据新视界 -- 大数据大厂之 Hive 临时表与视图:灵活数据处理的技巧(上)(29 / 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

Android学习14--charger

1 概述 最近正好在做关机充电这个&#xff0c;就详细看看吧。还是本着保密的原则&#xff0c;项目里的代码也不能直接用&#xff0c;这里就用的Github的。https://github.com/aosp-mirror 具体位置是&#xff1a;https://github.com/aosp-mirror/platform_system_core/tree/mai…...

页面开发样式和布局入门:Vite + Vue 3 + Less

页面开发样式和布局入门&#xff1a;Vite Vue 3 Less 引言 在现代前端开发中&#xff0c;样式和布局是页面开发的核心部分。随着技术的不断发展&#xff0c;Vite、Vue 3和Less等工具和框架的出现&#xff0c;使得前端开发变得更加高效和灵活。然而&#xff0c;尽管这些工具…...

瑞芯微RK3566/RK3568开发板安卓11固件ROOT教程,Purple Pi OH演示

本文介绍RK3566/RK3568开发板Android11系统&#xff0c;编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566四核处理器&#xff0c;Laval鸿蒙社区推荐开发板&#xff0c;已适配全新OpenHarmony5.0 Release系统&#xff0c;SDK源码全开…...

Netty 入门应用:结合 Redis 实现服务器通信

在上篇博客中&#xff0c;我们了解了 Netty 的基本概念和架构。本篇文章将带你深入实践&#xff0c;构建一个简单的 Netty 服务端&#xff0c;并结合 Redis 实现一个数据存取的示例。在这个场景中&#xff0c;Redis 作为缓存存储&#xff0c;Netty 作为服务端处理客户端请求。通…...

试题转excel;pdf转excel;试卷转Excel,word试题转excel

一、问题描述 一名教师朋友&#xff0c;偶尔会需要整理一些高质量的题目到excel中 以往都是手动复制搬运&#xff0c;几百道题几乎需要一个下午的时间 关键这些事&#xff0c;枯燥无聊费眼睛&#xff0c;实在是看起来就很蠢的工作 就想着做一个工具&#xff0c;可以自动处理…...

查看网卡设备Bus号

在Linux系统中&#xff0c;通过ip命令能够看到网卡设备的名称&#xff0c;那么怎么看这个网卡设备对应的硬件设备以及Bus号&#xff1f; 例如在下面的虚拟机中能够看到有一个网口名为enp1s0 如何查看这个设备对应的Bus编号&#xff0c;可以在/sys中找到对应的设备 ll /sys/cl…...

鸿蒙Next星河版高级用例之网络请求和自适应布局以及响应式布局

目录&#xff1a; 1、发起网络请求的两种方式第一种使用httpRequest发送http的请求&#xff1a;1.1、在进行网络请求前&#xff0c;您需要在module.json5文件中申明网络访问权限1.2、GET 请求1.3、POST请求1.4、处理响应的结果第二种使用axios发送http的请求&#xff1a;1.1、在…...

鸿蒙技术分享:敲鸿蒙木鱼,积____功德——鸿蒙元服务开发:从入门到放弃(3)...

本文是系列文章&#xff0c;其他文章见&#xff1a;敲鸿蒙木鱼&#xff0c;积____功德&#x1f436;&#x1f436;&#x1f436;——鸿蒙元服务开发&#xff1a;从入门到放弃(1)敲鸿蒙木鱼&#xff0c;积____功德&#x1f436;&#x1f436;&#x1f436;——鸿蒙元服务开发&am…...

Hadoop生态圈框架部署 伪集群版(六)- MySQL安装配置

文章目录 前言一、MySQL安装与配置1. 安装MySQL2. 安装MySQL服务器3. 启动MySQL服务并设置开机自启动4. 修改MySQL初始密码登录5. 设置允许MySQL远程登录6. 登录MySQL 卸载1. 停止MySQL服务2. 卸载MySQL软件包3. 删除MySQL配置文件及数据目录 前言 在本文中&#xff0c;我们将…...

【Docker】创建Docker并部署Web站点

要在服务器上创建Docker容器&#xff0c;并在其中部署站点&#xff0c;你可以按照以下步骤操作。我们将以Flask应用为例来说明如何完成这一过程。 1. 准备工作 确保你的服务器已经安装了Docker。如果没有&#xff0c;请根据官方文档安装&#xff1a; Docker 安装指南 2. 创…...

实验七 用 MATLAB 设计 FIR 数字滤波器

实验目的 加深对窗函数法设计 FIR 数字滤波器的基本原理的理解。 学习用 Matlab 语言的窗函数法编写设计 FIR 数字滤波器的程序。 了解 Matlab 语言有关窗函数法设计 FIR 数字滤波器的常用函数用法。 掌握 FIR 滤波器的快速卷积实现原理。 不同滤波器的设计方法具有不同的优…...

学习ESP32开发板安装鸿蒙操作系统(新板子esp32c3不支持)

鸿蒙LiteOS网址&#xff1a;LiteOS: Huawei LiteOS开源代码官方主仓库.LiteOS Studio 开发工具请访问https://gitee.com/LiteOS/LiteOS_Studio 失败的实践记录见&#xff1a;完全按照手册win10里装Ubuntu 虚拟机然后编译ESP32&#xff08;主要是想针对ESP32C3和S3&#xff09;…...

asp.net core过滤器应用

筛选器类型 授权筛选器 授权过滤器是过滤器管道的第一个被执行的过滤器&#xff0c;用于系统授权。一般不会编写自定义的授权过滤器&#xff0c;而是配置授权策略或编写自定义授权策略。简单举个例子。 using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCo…...

力扣面试题 31 - 特定深度节点链表 C语言解法

题目&#xff1a; 给定一棵二叉树&#xff0c;设计一个算法&#xff0c;创建含有某一深度上所有节点的链表&#xff08;比如&#xff0c;若一棵树的深度为 D&#xff0c;则会创建出 D 个链表&#xff09;。返回一个包含所有深度的链表的数组。 示例&#xff1a; 输入&#xf…...

WordPress阅读文章显示太慢的处理

有两种方式&#xff0c; 1. 完全静态化。 动态都变成html&#xff0c;不再查数据库就快了。 但尝试了几个插件&#xff0c;都未成功。算了后面再研究。 2. cache缓存 用了WP Super Cache测试了一下&#xff0c;打开过一次后&#xff0c;文章秒开&#xff0c;也算达到了要求…...

关于多个线程共享一个实例对象

在多线程环境中&#xff0c;多个线程可能同时调用同一个对象的实例方法&#xff0c;这时候需要考虑如何保证线程安全。理解不同场景下的线程安全性是至关重要的&#xff0c;特别是当方法涉及共享状态时。 1. 共享实例与方法执行 共享实例&#xff1a;多个线程共享同一个实例对…...

【C++】printf 函数详解与格式化输出控制

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;printf 基础用法1.1 printf 的常见占位符1.2 占位符与参数的对应关系1.3 换行控制示例&#xff1a; &#x1f4af;格式化输出控制2.1 输出宽度控制2.1.1 指定最小宽度 2.2 …...

HDFS 操作命令

在现代的企业环境中&#xff0c;单机容量往往无法存储大量数据&#xff0c;需要跨机器存储。统一管理分布在 集群上的文件系统称为 分布式文件系统 。 HDFS &#xff08; Hadoop Distributed File System &#xff09;是 Apache Hadoop 项目的一个子项目&#xff0c; Hadoo…...

html ul li 首页渲染多条数据 但只展示八条,其余的数据全部隐藏,通过icon图标 进行展示

<div style"float: left;" id"showMore"> 展开 </div> <div style"float: left;“id"hideLess"> 收起 </div> var data document.querySelectorAll(.allbox .item h3 a); const list document.querySelectorAl…...