【vue2】实现查询功能及排序功能

2023-11-15

一、前言

之前写过一篇相关的文章,那个时候对于vue查询不甚了解。现在重新温习一次vue,有了新的认识。但是将新的也是通俗易懂的理解分享给大家,希望一起进步。

二、业务场景

实现动态查询:输入框输入内容,然后列表根据输入框内容动态显示。

截图:

三、实现代码完整版

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>人员列表</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <h2>人员列表</h2>
        <input type="text" v-model="keywords" />
        <button @click="sortType='1'">升序</button>
        <button @click="sortType='2'">降序</button>
        <button @click="sortType=0">不变</button>
        <ul>
            <li v-for="p in fillPersons" :key="p.id">
                {{p.id}}--{{p.name}}--{{p.age}}--{{p.sex}}
            </li>
        </ul>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                keywords: "",
                persons: [
                    { id: "001", name: "张三", age: 20, sex: "男" },
                    { id: "002", name: "张无", age: 22, sex: "男" },
                    { id: "003", name: "三元", age: 18, sex: "男" },
                    { id: "004", name: "四元", age: 25, sex: "男" },
                ],
                sortType: 0,//1升序,2降序,0不变
            },
            computed: {
                fillPersons() {
                    const arr = this.persons.filter((p) => {
                        return p.name.indexOf(this.keywords) > -1
                    })
                    if (this.sortType) {
                        arr.sort((p1, p2) => {
                            return this.sortType == 1 ? p1.age - p2.age : p2.age - p1.age
                        })
                    }
                    return arr
                }
            }
        })
    </script>
</body>
</html>

四、代码说明

实现该功能用计算属性和监听属性均可,但是这里选择使用计算属性会更加简单理解。

1、首先定义一个参数【persons】用来接收原始的数据集;

2、然后定义一个计算参数【fillPersons】用来实现页面显示;

3、参数【keyWords】表示输入框的内容。

4、首先用数组的过滤方法【filter】,获取到符合输入框内容的人员,然后该方法会返回一个新数组【arr】,如果不做别的处理,那么将【arr】返回给【fillPersons】,即实现所需功能。

5、这里又加了一个排序的功能。所以使用数组的【sort】方法。该方法有两个参数,分别表示前项、后项。其中:前-后表示升序,后-前表示降序。

6、通过属性【sortType】来控制升序和降序。

五、其他

上述方法亲测有效。

创作不易,希望点赞!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【vue2】实现查询功能及排序功能 的相关文章

  • 错误:#0 轴的数据列不能是字符串类型

    我正在尝试使用谷歌图表和 React JS 创建散点图 我制作了一个测试数组来检查这是否是将数据发送到图表的正确方法并且它有效 但是当我处理真实数据并创建一个类似的数组时 它给我带来错误 轴 0 的数据列不能是字符串类型 这是运行良好的测试
  • 禁用 Ctrl + 滚动以缩放谷歌地图

    Does anybody know how to disable the CTRL Scroll First when the mouse wheel was moved the Map would Zoom in out But now
  • 减少 JavaScript 中的对象数组

    我在 javascript 中有一个想要减少的对象数组 请参阅下面的代码 6 位或以上的消息已验证 较少的消息未验证 我将他们按组分组 const myArray group groupA message Text without a nu
  • 设置 JavaScript 对象的 length 属性

    假设我有一个 JavaScript 对象 function a var A this length function return A length this add function x A push x this remove func
  • Android 上的 setTimeOut() 相当于什么?

    我需要等效的代码setTimeOut call function milliseconds 对于安卓 setTimeOut call function milliseconds 您可能想查看定时任务 http developer andro
  • Angular JS - 如何验证数字输入中的位数

    我们想要做的是 有一个仅接受 0 24 的输入 对于时间输入应用程序 这些是用户应该能够输入到输入中的值 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
  • 仅返回 JavaScript 字符串中最后一个下划线之前的文本

    如果我有一个像这样的字符串 var str Arthropoda Arachnida Zodariidae Habronestes hunti 如何获取最后一个下划线之前的字符串的第一部分 在这种情况下我只想 Arthropoda Arac
  • 元素上的 jQuery touchSwipe 事件阻止滚动

    我有一些清单div元素垂直排序 使用jQuery TouchSwipe 插件 https github com mattbryson TouchSwipe Jquery Plugin添加了滑动事件来捕获左右滑动 想法是通过向左或向右滑动来从
  • Imperavi Redactor 内容未复制到隐藏文本区域

    我正在尝试使用因佩拉维编辑器 http imperavi com redactor 在这里控制我的富文本编辑 div class control group div class controls div div document ready
  • 如果只有一个元素发生变化,为什么 AngularJs 会更新数组/哈希映射的所有元素?

    我有一个简单的哈希图和一个以文本形式显示状态的简单方法 但是当我仅更新 1 个用户状态时 所有这些状态都会更新 为所有用户调用函数 有没有一种方法可以只更新一个元素而不是全部 示例代码在这里 只需看看当您单击 更改状态 按钮时控制台中会发生
  • 如何使 Loopback 模型事件起作用?

    我尝试过一个例子http apidocs strongloop com loopback model http apidocs strongloop com loopback model MyModel on changed functio
  • JavaScript 将 NULL 转换为 0

    我正在使用 jQuery 来获取元素的高度 但如果该元素不存在 以下代码将返回 NULL height menu li active ul height returns integer or null 这是一种跨浏览器安全的方法 可以使用以
  • 在没有全局变量的情况下对多个事件使用 Promise 回调

    我有一个包含在函数中的承诺 我将使用不同的输入参数多次调用该函数 每次承诺解决时 我都会将解决的值推送到存储数组中 当我所有的调用承诺都得到解决后 我将在其他函数中使用这个存储数组 是否有任何干净的方法可以在不使用 全局 变量的情况下进行设
  • 如何在 ES6 类中使用静态变量?

    我正在尝试在 es6 中使用静态变量 我想声明一个静态变量count in Animal类并增加它 但是 我无法通过声明静态变量static count 0 所以我尝试了另一种方法 class Animal constructor this
  • Google Apps 脚本:如何水平对齐 inlineImage

    我有以下代码 它是一个更大程序的一部分 我正在尝试将图像从我的 Google 驱动器插入到 Google 文档中 并调整其大小并居中 到目前为止 我能够让程序插入图像并调整其大小 但我不知道如何使 inlineImage 居中 我是使用谷歌
  • 如何在 Android 设备(平板电脑和手机)方向更改时获得正确的窗口宽度

    我正在尝试使用 jquery 函数计算 Android 设备方向变化时的窗口宽度 window outerWidth true 此计算给出了两个方向变化的正确宽度iphone and ipad但在安卓中不行 如果我最初以横向模式或纵向模式加
  • 已安装 cypress npm 软件包,但缺少 Cypress 二进制文件

    大家好 我是 azure devops CI 的新手 我正在尝试通过在作业之间缓存 node modules 来减少管道构建时间 但我遇到了无法解决的错误 我正在使用 cypress 进行测试 这是我的天蓝色管道 Node js Build
  • 将回调函数与原型函数一起使用

    在执行回调时 我无法弄清楚如何传递对象方法而不是排序 通用原型 方法 function Client this name hello Client prototype apiCall function method params callb
  • JavaScript 不是 DOM 的一部分吗?

    为什么即使从 DOM 中删除用于创建脚本的代码 脚本仍然可以运行 我遇到了一种情况 我想阻止损坏的脚本运行 查看我的帖子 https stackoverflow com questions 2685581 is there a way to
  • 如何通过 jQuery onblur 提交表单

    所以我尝试通过 jQuery onblur 提交表单 即一旦焦点离开密码字段 表单就会通过 jQuery 提交 有类似的问题 但这不是我要找的 我尝试使用 document getElementById 但它不起作用 任何帮助表示赞赏 提前

随机推荐

  • 学网络安全都是一群什么人?

    大家好呀 我是知了姐 又是一期学员故事栏目 3月下旬知了堂信安方向开新班 知了姐跟着去采访 了解到新学员们的求学故事 嘿你别说 虽然大家出身专业不同 经历背景不同 如今却在同一个地点相遇 加入到知了堂这个大家庭 不同专业 年龄的他们 为什么
  • 格式工厂5.10.0版本安装

    目前格式工厂有很多 大多都可以进行视频转换 之前遇到一个用ffmpeg拉流保存的MP4在vlc和迅雷都无法正常播放的问题 发现视频长度不对 声音也不对 最后换到了格式工厂的格式播放器是可以正常播放的 格式工厂下载之家的地址 https ww
  • OSG for Android新手教程系列(二)——项目配置

    在上一篇教程中 主要介绍了如何把OSG源代码编译成为能够在Android项目下使用的函数库 在这一篇教程中 我将针对如何在自己的Android项目中配置OSG函数库进行详细讲解 现阶段网上关于OSGfor Android的配置方式教程有很多
  • 用户登录的详细流程(二)JWT生成token登录

    JWT生成token登录 1 jwt的构成 1 header 2 payload 3 signature 2 token的登陆原理 3 在实际中如何应用token 1 设置token的生成代码 2 如何从token中获取有用的信息 3 验证
  • 汇编程序设计与计算机体系结构软件工程师教程笔记:总结

    汇编程序设计与计算机体系结构 软件工程师教程 这本书是由Brain R Hall和Kevin J Slonka著 由爱飞翔译 中文版是2019年出版的 个人感觉这本书真不错 书中介绍了三种汇编器GAS NASM MASM异同 全部示例代码都
  • EC11旋转编码器、stm32f103驱动程序

    1 EC11手册的要点 注意 旋转的速度 RC滤波 手册中推荐的电路 已含有RC滤波 输出波形特点 2 硬件电路 加上RC滤波电路 做法是两个端点都采用10pF电容接地 10K 电阻接VCC 实测100pF电容也行 用示波器看看波形有无噪声
  • 无向图的遍历-BFS与DFS

    一 理论部分 无向图的遍历可用深度搜索 DFS 与广度搜索 BFS 深度搜索的基本方式是由图的一个节点1出发然后随机选一个与其相邻的节点2 接着在选择一个与其相邻的节点3 当一条路遍历完后再选择最近一个遍历过的 且相邻节点有未遍历过的节点
  • Unhandled kernel unaligned access问题记录

    调试新驱动出现如下打印 内核未对齐访问 765 810527 Unhandled kernel unaligned access 1 765 815483 CPU 0 PID 120 Comm insmod Tainted G O 3 10
  • 实习需求-sessionStorage实现对话框只弹出一次

    文章目录 背景 实现思路 实现代码 背景 某功能页面下线 需要提供一个弹窗来提示用户该功能已下线 要求 弹窗只是在进入该页面的时候显示 切换其他的页面再回到该页面 弹窗不显示 即弹窗只在第一次点击该功能页面出现 实现思路 弹窗 elemen
  • QT实战——LCDNumber计数器

    需求 通过LCDNumber进行计数 间隔时间1s 可以重置 暂停 widget h ifndef WIDGET H define WIDGET H include
  • python自动点击小程序

    猜你感兴趣 使用Pyqt5玩转ChatGpt 内网文件共享服务 快速搭建私有pip镜像源 python设计模式 创建型模式 docker搭建私有git服务器 项目备份和迁移 redis持久化方案 被测点击界面 新建counter html添
  • 获取电商网站主图和详情图的浏览器插件

    介绍 搞图宝 专门获取各大电商平台详情页面主图和详情图的浏览器插件 现已支持京东 京东国际 淘宝 天猫 coupang 1688 naver gmarket alibaba 兰亭集势 谷歌浏览器下载地址 Google Chrome 网络浏览
  • SPI Flash芯片W25Q32英文版数据手册解读(一)---------引脚功能,工作模式

    W25Q32芯片是一个可以通过SPI 串行外围设备接口 操作的flash存储器 这篇文章备忘和总结一下英文版数据手册的一些解读 有关时序及具体用STC单片机编写程序的内容等下一篇文章 一 芯片引脚功能 我买的是8引脚 SOIC封装的芯片 如
  • MyBatis框架从入门到精通(一)MyBatis概述

    mybatis做为目前国内最为流行的开源orm框架 我们平时在使用时会感受到其带来的诸多便利 但是很少去深入分析 mybatis源码代码量不多 功能丰富 是一个很好的学习样例 本系列文章就和大家一起来学习mybatis框架 本系列笔记根据动
  • PSM+DID

    PSM DID 模型是由倾向得分匹配模型 Propensity Score Matching 以下简称 PSM 和双重差分模型 Differences in Differences 以下简称 DID 结合而成 其中 PSM 负责为受处理的个
  • python求解数字的平均值、方差、中位数

    定义数字输入函数 def getNum nums iNumStr input 请输入数字 回车退出 while iNumStr 当输入为空时 跳出循环 nums append eval iNumStr 在nums列表后加入输入的数字 iNu
  • 微信小程序审核代码提示wx.getLocation暂未配置在app.json中教你如何解决

    今天上传微信小程序代码时遇到的问题 解决方法 在app json里面进行配置 requiredPrivateInfos getLocation 查找官方API接口 原来是这样 我们再去微信公众平台官网 扫码进入我们的小程序服务 找到开发管理
  • 项目代码中参数的管理:mmcv中的Config包&argparse导入参数

    Config 当我们项目的超参数很多时 在文中设定和修改并不方便 这时我们需要项目中所有参数放入一个文件夹中 方便管理和修改 例如 config config py中包含了我们模型需要的所有参数 然后我们使用mmcv包中的Config函数对
  • Python实现链表

    文章目录 由一个等号引起的思考 链表 单链表 双链表 单向循环链表 由一个等号引起的思考 链表是由一个个被系统随机分配地址的结点们通过指针进行相连 以c 为例子 在写链表的时候可以使用结构体进行实现 struct node ElemType
  • 【vue2】实现查询功能及排序功能

    一 前言 之前写过一篇相关的文章 那个时候对于vue查询不甚了解 现在重新温习一次vue 有了新的认识 但是将新的也是通俗易懂的理解分享给大家 希望一起进步 二 业务场景 实现动态查询 输入框输入内容 然后列表根据输入框内容动态显示 截图