vue进行代码排序

摘要:
排序默认升序降序搜索列表{{index}}-{{p.name}}-{p.age}}导出默认{name:“list”,data(){return{orderType:0,搜索名称:',人员:[{name:'张三',年龄:18,性别:'男'},{姓名:“李思2”,年龄:128,性别:“男”},{名称:“王武”,年龄138,性别:”男“},{姓名:”赵刘“,年龄148,性别:'男“},{名字:”田琦“,年龄158,性别:‘男’},}姓名:‘星八’,年龄168,性别:’男“}”,{姓名“高九”,年龄178,性别:男“},】,},方法:{orderByAge{this.orderType=orderType;}},计算:{//filtered fileterPersons(){//ordertype被传递给let{searchName,persons,ordertype}=this;letarr=[…人];//如果{arr=persons.filter((p)=˃(p.name.indexOf(searchName)!
<template>

<div>
    <div>
    <h3>排序
    </h3>
    <button @click="orderByAge(0)">默认</button>
    <button @click="orderByAge(2)">升序</button>
    <button @click="orderByAge(1)">降序</button>
</div>
    <h3>搜索列表</h3>
<input type="text" v-model="searchName" placeholder="请输入名字">

<ul>
    <li v-for="(p,index) in fileterPersons">
        {{index}} --{{p.name}}--{{p.age}}
    </li>
</ul>
</div>
</template>
<script>
export default{
    name:"list",
    data(){
        return {
            orderType:0,
          searchName:'',
            persons:[
                {name:'张三',age:18,sex:''},
                {name:'李四2',age:128,sex:''},
                {name:'王五',age:138,sex:''},
                {name:'赵六',age:148,sex:''},
                {name:'田七',age:158,sex:''},
                {name:'邢八',age:168,sex:''},
                {name:'高久',age:178,sex:''},

                
                ],
        }
    },

    methods:{
        orderByAge(orderType)
        {
            this.orderType=orderType;
        }
    },
    computed:{
//过滤的
fileterPersons(){
    //ordertype传过来
let {searchName,persons,orderType}=this;
let arr=[...persons];
//
if(searchName.trim()){
    arr=persons.filter((p)=>(p.name.indexOf(searchName)!==-1));
}
//排序
if(orderType){
    arr.sort((p1,p2)=>{
        if(orderType===1){//1为降序
       return  p2.age-p1.age;
        }else{
          return   p1.age-p2.age;
        }



    });
}
return arr;
}
    },
}
</script>
<style scoped>

</style>

免责声明:文章转载自《vue进行代码排序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇elementUI的table表头与内容错位的解决方案vue 支持 超大上G,多附件上传下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Vue】09 Webpack Part5 Vue组件化开发

【Vue组件文件打包:Vue-Loader】 复制之前上一个项目 然后在我们的src目录中创建App.vue文件 这个文件就是Vue的模块文件 【建议下载IDEA的Vue.js插件】 Vue的模块分为template、script、style 其实就是代表html + javascript + css这三者 <template> <...

vue配置请求转发解决跨域问题

通过nodejs的请求转发到后台,前端地址:http://localhost:8080 后端地址:http://localhost:8081 vue.config.js内容如下: let proxyObj={} proxyObj['/']={ //websocket ws:false, target:'http://localho...

vue项目使用electron打包成exe

1、环境准备 系统版本 windows 10 λ node -vv12.19.0 λ vue -V@vue/cli 4.5.7 λ npm -v6.14.8  2、将electron官方打包例子克隆下来 git clone https://github.com/electron/electron-quick-start 3、测试官方例子 安装c...

在VUE中报Duplicate keys detected: '0'. This may cause an update error的报错原因以及解决办法

问题描述 vue版本 : 2.x 首先Duplicate keys detected: '0'. This may cause an update error是vue发现key不是唯一的而引发的错误. 译为中文大概是 : 检测到重复键 : '0'. '0'可能会导致一个更新错误. 解决办法网上找的其他也有一些.通过手动进行修改:key进而解决,比如说进行拼...

vue与element ui搭配,关于eltable表格的排序问题

关于sortable的参数 1 <el-table 2 :data="tableData" 3 style=" 100%" 4 <!-- 数据由后台进行排序时sortable="custom",需要监听排序点击事件,会返回当前的prop和order --> 5 @sort-change="changeSort" 6 <...

封装Vue可选择列导出表格组件

1、创建ExportExcel.vue组件 <template> <div class="export_tools"> <div v-show="false"> <el-table id="out-table" style=" 100%;" :data="exportTable"> <...