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

vue.js中的列表过滤+排序

列表过滤

通过watch属性

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>列表</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><style>body {padding: 20px;}</style></head><body><div id="app"><input type="text" v-model="value" placeholder="输入姓名" /><div style="margin-top: 20px;"><div v-for="(item,index) in filterPersons" :key="item.id"><span>{{item.name}}</span><span>-</span><span>{{item.age}}</span><span>-</span><span>{{item.gender}}</span></div></div></div></body><script>var vm = new Vue({el: '#app',data() {return {value: '',persons: [{id: 1,name: '张伟',age: 32,gender: '男'},{id: 2,name: '王芳',age: 28,gender: '女'},{id: 3,name: '李娜',age: 25,gender: '女'},{id: 4,name: '赵强',age: 40,gender: '男'},{id: 5,name: '刘洋',age: 30,gender: '男'},{id: 6,name: '陈静',age: 27,gender: '女'},{id: 7,name: '杨磊',age: 35,gender: '男'},{id: 8,name: '黄丽',age: 26,gender: '女'},{id: 9,name: '吴杰',age: 38,gender: '男'},{id: 10,name: '周敏',age: 29,gender: '女'}],filterPersons:[]}},watch: {value:{immediate:true,handler(newVal){this.filterPersons= this.persons.filter((item)=>{return item.name.includes(newVal)})console.log(newVal)}}}})</script>
</html>

通过computed

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>列表</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><style>body {padding: 20px;}</style></head><body><div id="app"><input type="text" v-model="value" placeholder="输入姓名" /><div style="margin-top: 20px;"><div v-for="(item,index) in filterPersons" :key="item.id"><span>{{item.name}}</span><span>-</span><span>{{item.age}}</span><span>-</span><span>{{item.gender}}</span></div></div></div></body><script>var vm = new Vue({el: '#app',data() {return {value: '',persons: [{id: 1,name: '张伟',age: 32,gender: '男'},{id: 2,name: '王芳',age: 28,gender: '女'},{id: 3,name: '李娜',age: 25,gender: '女'},{id: 4,name: '赵强',age: 40,gender: '男'},{id: 5,name: '刘洋',age: 30,gender: '男'},{id: 6,name: '陈静',age: 27,gender: '女'},{id: 7,name: '杨磊',age: 35,gender: '男'},{id: 8,name: '黄丽',age: 26,gender: '女'},{id: 9,name: '吴杰',age: 38,gender: '男'},{id: 10,name: '周敏',age: 29,gender: '女'}],}},mounted() {},computed: {filterPersons() {return this.persons.filter((item) => {return item.name.includes(this.value)})}},})</script>
</html>

列表排序

在这里插入图片描述

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>列表</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><style>body {padding: 20px;}</style></head><body><div id="app"><div><input type="text" v-model="value" placeholder="输入姓名" /><button @click="reserveAge(1)">年龄升序</button><button @click="reserveAge(2)">年龄降序</button><button @click="reserveAge(0)">重置</button></div><div style="margin-top: 20px;"><div v-for="(item,index) in filterPersons" :key="item.id"><span>{{item.name}}</span><span>-</span><span>{{item.age}}</span><span>-</span><span>{{item.gender}}</span></div></div></div></body><script>var vm = new Vue({el: '#app',data() {return {value: '',sortType:0,persons: [{id: 1,name: '张伟',age: 32,gender: '男'},{id: 2,name: '王芳',age: 28,gender: '女'},{id: 3,name: '李娜',age: 25,gender: '女'},{id: 4,name: '赵强',age: 40,gender: '男'},{id: 5,name: '刘洋',age: 30,gender: '男'},{id: 6,name: '陈静',age: 27,gender: '女'},{id: 7,name: '杨磊',age: 35,gender: '男'},{id: 8,name: '黄丽',age: 26,gender: '女'},{id: 9,name: '吴杰',age: 38,gender: '男'},{id: 10,name: '周敏',age: 29,gender: '女'}],}},mounted() {},methods:{reserveAge(type){this.sortType=type;},},computed: {filterPersons() {let arr= this.persons.filter((item) => {return item.name.includes(this.value)})if(this.sortType){arr.sort((a,b)=>{return this.sortType === 1? a.age-b.age:b.age-a.age})}return arr}},})</script>
</html>
http://www.xdnf.cn/news/6818.html

相关文章:

  • Qt窗口中消除边框的解决方法
  • DAY24元组和OS模块
  • 【mysql】并发 Insert 的死锁问题 第二弹
  • Spring actuator
  • SQLMesh 增量模型从入门到精通:5步实现高效数据处理
  • 云、边、端
  • Echart设置圆饼图pie中间文字排版
  • 物体雅克比、空间雅克比、解析雅克比、几何雅克比
  • JDK 9中对字符串的拼接做了什么
  • 几个正整数常用的位运算操作
  • 获取淘宝商品评论API接口(item_review)返回参数说明。
  • 项目依赖版本修改
  • 浮点数截断法:四舍五入的精确模拟
  • 第三十二节:特征检测与描述-Harris 角点检测
  • 实变函数 第二章 点集
  • 数据结构与算法——单链表(续)
  • NoSQL数据库复习题目要点
  • 北斗导航 | 基于深度学习的卫星导航数据训练——检测识别故障卫星
  • windows编程:LIB和OBJ格式文件解析
  • 【Linux网络】数据链路层
  • buuctf Crypto-鸡藕椒盐味1
  • 现代计算机图形学Games101入门笔记(十一)
  • AML 数据集
  • 内网im聊天软件,私有化部署安全可控
  • 2025认证杯二阶段C题完整论文讲解+多模型对比
  • Vue3:脚手架
  • 一分钟了解Python编程语言
  • 科技项目验收测试对软件产品和企业分别有哪些好处?
  • 机器学习知识自然语言处理入门
  • allure报告自定义logo和名称