首页 > 其他分享 >[vue] 列表排序

[vue] 列表排序

时间:2022-12-21 10:32:19浏览次数:34  
标签:arr vue return name age sex 列表 排序 id


<div id="root">
<h2>人员列表</h2>
<input type="text" placeholder="请输入名字" v-model="keyWord">
<button @click="sortType = 2">年龄升序</button>
<button @click="sortType = 1">年龄降序</button>
<button @click="sortType = 0">原顺序</button>
<ul>
<li v-for="(p,index) of filPerons" :key="p.id">
{{p.name}}-{{p.age}}-{{p.sex}}
<input type="text">
</li>
</ul>
</div>
new Vue({
el:'#root',
data:{
keyWord:'',
sortType:0, //0原顺序 1降序 2升序
persons:[
{id:'001',name:'马冬梅',age:30,sex:'女'},
{id:'002',name:'周冬雨',age:31,sex:'女'},
{id:'003',name:'周杰伦',age:18,sex:'男'},
{id:'004',name:'温兆伦',age:19,sex:'男'}
]
},
computed:{
filPerons(){
const arr = this.persons.filter((p)=>{
return p.name.indexOf(this.keyWord) !== -1
})

return arr
}
}
})

[vue] 列表排序_升序

new Vue({
el:'#root',
data:{
keyWord:'',
sortType:0, //0原顺序 1降序 2升序
persons:[
{id:'001',name:'马冬梅',age:30,sex:'女'},
{id:'002',name:'周冬雨',age:31,sex:'女'},
{id:'003',name:'周杰伦',age:18,sex:'男'},
{id:'004',name:'温兆伦',age:19,sex:'男'}
]
},
computed:{
filPerons(){
const arr = this.persons.filter((p)=>{
return p.name.indexOf(this.keyWord) !== -1
})
console.log(arr)

// 判断一下是否需要排序
// sort改变原数组
if(this.sortType){
arr.sort((p1,p2)=>{
return this.sortType === 1 ? p2.age-p1.age : p1.age-p2.age
})
}
console.log(arr)

return arr
}
}
})

arr.sort((a,b)=>{return a-b}) 升序

[vue] 列表排序_Vue_02




标签:arr,vue,return,name,age,sex,列表,排序,id
From: https://blog.51cto.com/u_12881709/5957951

相关文章

  • [vue] Vue监测数据改变的原理 对象,数组
    Vue监测对象数据改变的原理<divid="root"><h2>学校名称:{{name}}</h2><h2>学校地址:{{address}}</h2></div>constvm=newVue({el:'#root',data:{name:'尚硅谷......
  • 基于Springboot+Mybatis+mysql+vue考研规划与交流系统
    @目录一、系统介绍二、功能展示1.主页(普通用户)2.登陆、注册(普通用户)3.复习规划制定(普通用户)4.经验分享交流(普通用户)5.考研学校资讯(普通用户)6.我的文章(普通用户)7.个人信......
  • Vue路由配置项meta使用
    meta简单来说就是路由元信息也就是每个路由身上携带的信息。这里简单的举两个例子其次还有一个功能就是能够控制公共组件的显示或隐藏请忽视keep-alive标签......
  • vue项目引入echarts柱状图
    一。components文件下引入barCharts.vue文件<template><div:class="className":style="{height:height,width:width}"/></template><script>import*asecha......
  • vue 项目引入 echarts折线图
    一。components文件下新建lineCharts.vue<template><div:class="className":style="{height:height,width:width}"/></template><script>import*asec......
  • vue3 Composition API使用
    Vue3新增了CompositionAPI。我们只需将实现某一功能的相关代码全部放进一个函数中,然后return需要对外暴露的对象。不同功能的代码都是一个个函数,最终在setup()函数中......
  • Vue 作用域插槽
    摘抄自:https://www.jianshu.com/p/0c9516a3be80  ......
  • Vue基础 · 组件的使用(4)
    组件将公用的功能抽离出来,形成组件;目的:复用代码。1.1全局组件<divid="app"><!--引用组件,可多次引用--><demo></demo></div><scriptsrc="../js/vue......
  • 前端工程化Vue-cli
    六前端工程化vue-cliVue是渐近式框架,你可以用它一个功能,也可以用全家桶。前面的章节中,我们是在html中引入vue.js,只用它核心的数据绑定功能。但基于vue的扩展还有很多,......
  • 图解排序算法,这五种最热门!
    介绍5种热门的排序算法,用图文+代码的方式讲解~说到排序算法,大家估计都比较熟悉,但要你一下子写出来又蒙圈了。所以这篇文章不会讲解所有的排序算......