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

Vue——案例01(查询用户)

一、案例实现页面

二、案例实现效果

1. 查询效果

2. 年龄升序

3. 年龄降序

4. 原顺序

三、案例实现思路

1. 定义界面所需标签样式

    <div id="app"><h2>查询用户:</h2><input type="text" placeholder="请输入名字"/><button>年龄升序</button><button>年龄降序</button><button>原顺序</button><table border="1px"><tr><th>编号</th><th>姓名</th><th>性别</th><th>年龄</th></tr></table></div>

2. 定义界面所需数据

        data: function () {return {datas: [{ id: 1, name: "李思思", sex: "女", age: 20 },{ id: 2, name: "王五", sex: "男", age: 24 },{ id: 3, name: "张三", sex: "男", age: 22 },{ id: 4, name: "李四", sex: "男", age: 21 },],inputname: "",sortType: 0, //0表示原顺序,1表示升序,2表示降序};}

3. 将数据循环放置在标签中

        <tr v-for="(data,index) in fillDatas" :key="data.id"><td>{{data.id}}</td><td>{{data.name}}</td><td>{{data.sex}}</td><td>{{data.age}}</td></tr>

4. 分别给每个按钮绑定相应的事件

0表示原顺序,1表示升序,2表示降序

      <button @click="sortType=1">年龄升序</button><button @click="sortType=2">年龄降序</button><button @click="sortType=0">原顺序</button>

5. 将事件全部定义在计算属性中

filter ()方法创建给定数组的一部分的浅副本,过滤掉给定数组中通过所提供函数实现的测试的元素

过滤数据获取数组对象

        computed: {//data中数据有变化,计算属性就在监听fillDatas() {//filter ()方法创建给定数组的一部分的浅副本,过滤掉给定数组中通过所提供函数实现的测 试的元素//过滤数据获取数组对象let arr = this.datas.filter((data) => {return data.name.indexOf(this.inputname) > -1;});if (this.sortType == 1) {//升序arr.sort(function (d1, d2) {return d1.age - d2.age;});}if (this.sortType == 2) {//降序arr.sort(function (d1, d2) {return d2.age - d1.age;});}return arr;},}

四、完整代码

<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>查询用户</title></head><body><div id="app"><h2>查询用户:</h2><input type="text" placeholder="请输入名字" v-model="inputname" /><button @click="sortType=1">年龄升序</button><button @click="sortType=2">年龄降序</button><button @click="sortType=0">原顺序</button><table border="1px"><tr><th>编号</th><th>姓名</th><th>性别</th><th>年龄</th></tr><tr v-for="(data,index) in fillDatas" :key="data.id"><td>{{data.id}}</td><td>{{data.name}}</td><td>{{data.sex}}</td><td>{{data.age}}</td></tr></table></div><script type="text/javascript" src="../js/vue.global.js"></script><script>// 1.创建appconst app = Vue.createApp({// data: option apidata: function () {return {message: "Hello Vue",datas: [{ id: 1, name: "李思思", sex: "女", age: 20 },{ id: 2, name: "王五", sex: "男", age: 24 },{ id: 3, name: "张三", sex: "男", age: 22 },{ id: 4, name: "李四", sex: "男", age: 21 },],inputname: "",sortType: 0, //0表示原顺序,1表示升序,2表示降序};},//计算属性computed: {//data中数据有变化,计算属性就在监听fillDatas() {//filter ()方法创建给定数组的一部分的浅副本,过滤掉给定数组中通过所提供函数实现的测试的元素//过滤数据获取数组对象let arr = this.datas.filter((data) => {return data.name.indexOf(this.inputname) > -1;});if (this.sortType == 1) {//升序arr.sort(function (d1, d2) {return d1.age - d2.age;});}if (this.sortType == 2) {//降序arr.sort(function (d1, d2) {return d2.age - d1.age;});}return arr;},},});// 2.挂载appapp.mount("#app");</script><style></style></body>
</html>

相关文章:

  • c语言中动态内存管理
  • go中函数与方法的区别与go中关于面向对象理解
  • Bun安装与使用
  • Vant Weapp小程序 van-uploader 文件上传点击无反应,删除无反应
  • Android Q(10)黑暗模式适配的实现
  • A Little Is Enough: Circumventing Defenses For Distributed Learning
  • HTML——1.简介、基础、元素
  • 封装性练习
  • react native hooks 页面出现重绘问题,如何解决
  • 机器视觉系列之【硬件知识】-光源(三)
  • HTML网站的概念
  • 【常见面试题】Golang中,协程数最多可以开多少个?
  • 免费SSL证书和付费SSL证书的区别点
  • 马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4!
  • 计算两个经纬度点之间的方位角(初始方位角)
  • 【RocksDB】TransactionDB源码分析
  • 0x05 Python数据分析,Anaconda八斩刀
  • Android交互
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • docker python 配置
  • EventListener原理
  • Just for fun——迅速写完快速排序
  • mac修复ab及siege安装
  • MySQL的数据类型
  • Node项目之评分系统(二)- 数据库设计
  • Redis的resp协议
  • TypeScript实现数据结构(一)栈,队列,链表
  • V4L2视频输入框架概述
  • 程序员该如何有效的找工作?
  • 多线程事务回滚
  • 关于Java中分层中遇到的一些问题
  • 聚类分析——Kmeans
  • 前端_面试
  • 手机端车牌号码键盘的vue组件
  • 双管齐下,VMware的容器新战略
  • 温故知新之javascript面向对象
  • 问题之ssh中Host key verification failed的解决
  • 一个SAP顾问在美国的这些年
  • 一个项目push到多个远程Git仓库
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • #1015 : KMP算法
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (BFS)hdoj2377-Bus Pass
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (二)WCF的Binding模型
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (论文阅读11/100)Fast R-CNN
  • (三十五)大数据实战——Superset可视化平台搭建
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)winform之ListView
  • (转)创业家杂志:UCWEB天使第一步
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .Net core 6.0 升8.0