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

【Vue - Element 】实现表单输入框的远程搜索功能

需求

表单是一个常见的元素,而在表单中,常常需要用户从大量的数据中选择一个或多个选项。

为了提高用户体验,提供远程搜索功能可以帮助用户快速找到所需的选项,而不是从冗长的下拉列表中手动查找。

以该需求为例,我们需要在【所属测试计划】字段实现远程搜索功能,能够在根据输入的关键字从服务器端(后端)获取匹配的数据列表,并且可进行选择

实现思路

使用Element UI 表单中的Select选择器组件:

  • v-model:进行数据绑定,将选择框的值与Vue实例中的数据对象绑定
  • remote:是否启用远程搜索
  • filterable:是否可搜索(启用远程搜索需要同时设置remote和filterable为true)
  • remote-method:远程搜索方法,会在输入值变化时进行调用

<el-option>中遍历远程搜索获取到的testPlanList集合:

  •  v-for:使用 Vue 的v-for指令对 testPlanList 数组进行遍历,将数组中的每个元素作为一个选项。
  • :key:每个选项设置唯一的键,具有唯一性。
  • :lable:设置选项的显示文本。
  • :value:设置选项的值,当用户选择此选项时,form.planId会被更新为该值。
<template><el-form ref="form" :model="form" :rules="rules" label-width="110px"><el-form-item label="所属测试计划" prop="planId"><el-selectv-model="form.planId"placeholder="请选择所属测试计划"remotefilterable:remote-method="remoteSearchTestPlans"><el-optionv-for="plan in testPlanList":key="plan.planId":label="plan.planName":value="plan.planId"/></el-select></el-form-item></el-form>
</template>

远程搜索方法中,根据参数(输入值)发起查询请求,并将结果赋值给 this.testPlanList 

data(){return{// 测试计划集合testPlanList:[],}
}methods:{ /** 远程搜索项目 */remoteSearchTestPlans(query) {this.loadingTestPlan = true;//加载loding,可去掉if(query !== ''){this.queryTestPlanParams.planName = querylistPlan(this.queryTestPlanParams).then(response => {this.testPlanList = response.rows;this.loadingTestPlan = false;});}else{listPlan().then(response => {this.testPlanList = response.rows;this.loadingTestPlan = false;});}},}

http://www.lryc.cn/news/520809.html

相关文章:

  • Linux(Centos 7.6)命令详解:split
  • 八股学习 Redis
  • 如何通过高防服务隐藏服务器源IP
  • 【WEB】网络传输中的信息安全 - 加密、签名、数字证书与HTTPS
  • 借助Claude实现Playwright的自动化(MCP Server)
  • 【区间DP】【hard】力扣730. 统计不同回文子序列
  • 【Vim Masterclass 笔记11】S06L24 + L25:Vim 文本的插入、变更、替换与连接操作同步练习(含点评课)
  • 分布式组件底层逻辑是什么?
  • Spring Boot中的扫描注解如何使用
  • 初识JVM HotSopt 的发展历程
  • 基于springboot果蔬供应链信息管理平台
  • 掌握 React 关键:理解 super () 和 super (props) 的不同应用
  • Scala语言的软件开发工具
  • 斯坦福大学李飞飞教授团队ARCap: 利用增强现实反馈收集高质量的人类示教以用于机器人学习
  • 【Linux】从零开始:编写你的第一个Linux进度条小程序
  • web前端第八次作业---制作音乐榜单
  • 心脏扩散张量成像中的异常值检测:射击拒绝还是稳健拟合?|文献速递-视觉大模型医疗图像应用
  • Linux Kernel 之十 详解 PREEMPT_RT、Xenomai 的架构、源码、构建及使用
  • RabbitMQ-消息消费确认
  • E10.【C语言】练习:编写一个猜数字游戏
  • RK3568-rk809rtc休眠唤醒
  • 【Uniapp-Vue3】pages.json页面路由globalStyle的属性
  • NHANES数据挖掘|特征变量对死亡率预测的研究设计与分析
  • 【Sharding-JDBC学习】概述_shardingsphere-jdbc 和sharding-jdbc
  • 用户登录/登出功能,当登录页面在另一域名下
  • 自动化解决方案:修复devicedisplaystatusmanager.dll丢失
  • .Net8 Avalonia跨平台UI框架——<vlc:VideoView>控件播放海康监控、摄像机视频(Windows / Linux)
  • 网络协议(八):IP 协议
  • 深度解析 pytest 参数化与 --count 执行顺序的奥秘
  • 【traefik】forwadAuth中间件跨namespace请求的问题