位置: IT常识 - 正文

Vue前端:几种搜索框功能实现(vue.js前端)

编辑:rootadmin
Vue前端:几种搜索框功能实现 Vue前端:几种搜索框功能实现前言一、搜索框输入内容自动检索(1)检索到输入新的内容后,就自动向后端发送查找请求(即时搜索)(2)一次请求搜索到所有可能需要的数据,然后根据搜索框中的内容进行数据过滤二、点击搜索按钮再开始搜索总结前言

推荐整理分享Vue前端:几种搜索框功能实现(vue.js前端),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue前端开发工具,vue前端开发工具,vue前端菜鸟教程,vue前端代码实例,vue前端项目实战,vue前端搜索,vue前端页面查询功能怎么实现,vue前端搜索,内容如对您有帮助,希望把文章链接给更多的朋友!

相信很多朋友遇到需要在网页上增加一个搜索框的功能,本文简单介绍两种搜索框的实现。 搜索框的功能一般分为: (1)即时检索,即搜索框输入内容自动检索,会随着搜索内容的不断输入,改变界面的显示 (2)点击搜索按钮再开始搜索

以下分别介绍这两种搜索框的简单实现方式。

一、搜索框输入内容自动检索

实现搜索框输入内容自动检索功能,可以再分为两种情况实现。

(1)检索到输入新的内容后,就自动向后端发送查找请求(即时搜索)

这种设计,类似于现在的百度搜索,就是在搜索框输入一段内容后,会自动发起一次查找数据请求,界面自然就显示新的内容。 优点: 这种设计会显的很智能,不需要点搜索框即可检索,搜索起来更加快速高效,使用起来更加跟手。 缺点: 1)需要搜索的内容可能是一部分一部分输入的,每次搜索框新增内容就去搜索,往往不能得到真正想要的结果; 2)如果分段输入搜索内容的次数过多,会导致请求服务器响应的次数过多,一个用户在完成一次有效的检索过程中,可能需要多次的请求服务器响应,服务器性能、网络资源等会被严重浪费,同时使用用户过多可能导致服务器响应较慢,严重会导致服务器崩溃。

需要注意: 即时检索在使用的时候为了不浪费过多资源,往往需要限制发请求的时间或者需要搜索的内容量,即每过一段时间或需要搜索的内容量达到一定条件才发送请求。

Vue前端:几种搜索框功能实现(vue.js前端)

以下内容来自: input搜索框实时检索功能实现

参考代码:

methods: { //使用_.debounce控制搜索的触发频率 //准备搜索 search: _.debounce( function () { let that = this; //删除已经结束的请求 _.remove(sources, function (n) { return n.source === null; }); //取消还未结束的请求 sources.forEach(function (item) { if (item !== null && item.source !== null && item.status === 1) { item.status = 0; item.source.cancel('取消上一个') } }); //创建新的请求cancelToken,并设置状态请求中 var sc = { source: axios.CancelToken.source(), status: 1 //状态1:请求中,0:取消中 }; //这个对象加入数组中 sources.push(sc); //开始搜索数据,yourhttp替换成你自己的请求路径 axios.get('yourhttp', { cancelToken: sc.source.token }).then(function (res) { //请求成功 sc.source = null; //置空请求canceltoken //TODO这里处理搜索结果 console.log(res.data); that.result = res.data; }).catch(function (thrown) { //请求失败 sc.source = null; //置空请求canceltoken //下面的逻辑其实测试用 if (axios.isCancel(thrown)) { console.log('Request canceled', thrown.message); } else { //handle error } }); }, 500 //空闲时间间隔设置500ms )}(2)一次请求搜索到所有可能需要的数据,然后根据搜索框中的内容进行数据过滤

如果: 1)搜索框的内容相对固定,不像百度等网站需要对不同的搜索内容进行兼容,数据库整体数据量也不是很大 2)服务器性能有限,希望尽量减少请求服务器响应次数

我们可以采用一次请求搜索到所有可能需要的数据,然后根据搜索框中的内容进行数据过滤,显示需要的数据 为了实现这个效果,我们可以使用Vue的Filter函数进行数据的过滤。过滤器整体分为局部过滤器和全局过滤器。

过滤器具体实现可以参考以下链接: Vue.js中过滤器(filter)的使用

我这里再介绍一种过滤器的使用,是我目前在使用的方式,这种方式和链接中的使用方式不太相同,相对简单直接,看起来也很好懂,还能实现多页面的切换功能。 话不多说上代码!

result_Lists() { let start = (this.pageNo - 1) * this.pageSize; //定义显示的第一条数据编号 let end = start + this.pageSize;//根据起始编号和每页规定的显示数量,定义显示的最后条数据编号 //返回经过过滤的数据 return this.result.filter(item => (item.content && item.content.includes(this.searchContent)) ).slice(start, end); //简单介绍slice(start,end): //方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。}

这种实现方式呢,我个人认为更加简单直接,很好懂,还能很好的配合多页面的切换,根据页面定义的每页显示的数据条数可以自动切换需要显示的数据数量。

二、点击搜索按钮再开始搜索

点击搜索按钮再开始搜索应该是最常见、最普通、最简单的一种搜索方式。给搜索按钮绑定事件,点击搜索后向后端发请求,前端根据后端返回值在页面显示即可,这里不再赘述。

Vue前后端交互链接: 三、vue前后端交互(轻松入门vue)

总结

本文介绍了几种搜索框常见的实现方式,特别推荐的是我在用的过滤器使用方式,实测很好用,很简单。 希望对大家有用!

本文链接地址:https://www.jiuchutong.com/zhishi/283949.html 转载请保留说明!

上一篇:noads.exe - noads是什么进程 有什么用

下一篇:KB5005322某些设备在安装 KB5003214和 KB5003690后无法安装新更新(此设备某些文件可能存在问题)

  • KOL的价值是什么?运营如何挖掘KOL?(kol的商业价值)

    KOL的价值是什么?运营如何挖掘KOL?(kol的商业价值)

  • 你以为付出的是努力,实际上只是体力(以为付出了一切就会有意义是啥歌)

    你以为付出的是努力,实际上只是体力(以为付出了一切就会有意义是啥歌)

  • vivo手机怎么改时间日期(vivo手机怎么改锁屏壁纸)

    vivo手机怎么改时间日期(vivo手机怎么改锁屏壁纸)

  • 腾讯微视能进行直播吗(微视里的腾讯视频会员怎么用)

    腾讯微视能进行直播吗(微视里的腾讯视频会员怎么用)

  • ipad3版本低不能用微信(ipad3版本低不能用微信怎么解决)

    ipad3版本低不能用微信(ipad3版本低不能用微信怎么解决)

  • 企业微信邮箱怎么登录(企业微信邮箱怎么开通注册)

    企业微信邮箱怎么登录(企业微信邮箱怎么开通注册)

  • 机械硬盘的英文缩写为(机械硬盘的英文标志)

    机械硬盘的英文缩写为(机械硬盘的英文标志)

  • 苹果没有辅助功能怎么办(苹果手机怎么没有辅助功能设置)

    苹果没有辅助功能怎么办(苹果手机怎么没有辅助功能设置)

  • rx570和580差距(rx5700和580差距)

    rx570和580差距(rx5700和580差距)

  • vivoiqoo pro上市时间(vivoiqoopro上市时间和价格)

    vivoiqoo pro上市时间(vivoiqoopro上市时间和价格)

  • 笔记本电脑响声很大怎么回事(笔记本电脑响声很大的嗡嗡声正常吗)

    笔记本电脑响声很大怎么回事(笔记本电脑响声很大的嗡嗡声正常吗)

  • 家里wifi光信号闪红灯(家里wifi光信号闪红灯是什么意思)

    家里wifi光信号闪红灯(家里wifi光信号闪红灯是什么意思)

  • iphone11如何关闭应用程序(iphone11如何关闭自动调节亮度)

    iphone11如何关闭应用程序(iphone11如何关闭自动调节亮度)

  • 小米8lite是啥手机(小米mi8lite什么型号)

    小米8lite是啥手机(小米mi8lite什么型号)

  • 电子发票默认导出路径(电子发票手动导出默认路径是哪)

    电子发票默认导出路径(电子发票手动导出默认路径是哪)

  • los灯不亮正常吗(光猫los灯不亮正常吗)

    los灯不亮正常吗(光猫los灯不亮正常吗)

  • 小米5s卡顿解决方法(小米5s卡顿解决教程)

    小米5s卡顿解决方法(小米5s卡顿解决教程)

  • iphone怎么解压rar(iPhone怎么解压缩)

    iphone怎么解压rar(iPhone怎么解压缩)

  • 关闭ie浏览器兼容模式(ie浏览器关闭浏览器弹出窗口拦截功能)

    关闭ie浏览器兼容模式(ie浏览器关闭浏览器弹出窗口拦截功能)

  • iphone系统20g怎么清理(苹果系统20g怎么清理)

    iphone系统20g怎么清理(苹果系统20g怎么清理)

  • OPPO Reno的生活服务功能如何使用(oppo生活助手)

    OPPO Reno的生活服务功能如何使用(oppo生活助手)

  • wps循环引用怎么取消(wps循环引用警告怎么取消)

    wps循环引用怎么取消(wps循环引用警告怎么取消)

  • 转转怎么注销(转转怎么注销账号?)

    转转怎么注销(转转怎么注销账号?)

  • 黑轴青轴茶轴红轴区别(黑轴青轴茶轴红轴哪个贵)

    黑轴青轴茶轴红轴区别(黑轴青轴茶轴红轴哪个贵)

  • 机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测

    机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测

  • 税务师在哪里报名
  • 物业公司车棚算固定资产吗
  • 现金流量套期与什么无关
  • 税控盘280抵扣报税填在
  • 个体户一直零申报会不会罚款
  • 汇算清缴职工福利支出
  • 委托境外研发费用不超过境内符合条件的研发费用
  • 车间领用低值易耗品记账凭证
  • 财务发票已开但钱未到位怎么处理?
  • 应缴纳的所得税税额
  • 建安费增值税怎么算
  • 更换金税盘后数据能恢复么
  • 剪头开发票
  • 递延所得税资产怎么计算
  • 建筑包工包料是包哪些
  • 拿提成的工资怎么算
  • 补发住房补贴征求意见
  • 新会计准则开办费的账务处理
  • 公司产品因质量问题买家追究
  • 电脑美式键盘怎么设置
  • 小规模本月应交增值税次月交可以不计提吗
  • linux sed命令详解
  • 个人所得税跨年度能退吗
  • 本月计提增值税的金额是怎么得来的
  • 辞退补偿入账
  • 公司销售自己使用过的固定资产
  • Win10组策略怎么进
  • 固定资产一次性扣除后第二年账务处理
  • 财产保险公司手续费税前扣除最新
  • 以旧换新的概念
  • thinkphp登录验证
  • 微信小程序开挂方法
  • elementui级联选择器清空方法
  • thinkphp6项目
  • spring boot整合hibernate
  • 小微企业所得税优惠政策2023
  • HTTP Tunneling (HTTP Proxy Socket Client)
  • 增值税专用发票的税率是多少啊
  • 公司内部现金管理制度
  • 坏账准备计提范围包括
  • 销售返利的账务处理购买方
  • 购买茶叶怎么入账
  • mongodb常见问题
  • 税控盘维护费每年都要交吗
  • 建设工程合同从完成承包的内容进行划分
  • sql server 2008使用教程
  • 教育培训行业人员
  • 一般纳税人开具的普票可以抵扣吗
  • 成本核算的意义与作用
  • 银行承兑贴现需要多久
  • 创业带动就业补贴是给企业的还是员工的
  • 汽修厂印花税怎么交
  • 银行扣掉的手续费怎么算
  • 年数总和法净残值怎么算
  • centos7安装mysql并jdbc测试教程
  • iexploresrv.exe
  • win10电脑无权限访问文件怎么解除
  • appservicesdkscripterror
  • win8右下角
  • ubuntu18.04没有声音
  • macos 网速慢
  • centos无法挂载位置
  • mssvr.exe - mssvr是什么进程 什么用
  • keyword是啥
  • xp装windows7
  • linux gtk+
  • win8应用商店官网
  • linux-swap
  • expand.grid函数
  • pycharm如何使用
  • unity开发的小游戏
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • 微信小程序tabbar字体颜色
  • Linux服务器无法远程连接
  • js如何将输入的数存到数组中
  • unity控制组件开关
  • javascript 代码
  • 北京增值税普通发票图片
  • 存款利息需要交税吗
  • 应纳税所得额怎么求公式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设