vue2列表过滤排序(下)

简介: vue2列表过滤排序(下)

完整代码

<body>
    <div id="app">
        <div v-for="(attract,key) in person">
            {{key}}----{{attract}}
        </div>
        <div><input type="text" v-model="searchInput"></div>
        <div>
            <button @click="paixu(1)">升序</button>
            <button @click="paixu(2)">降序</button>
            <button @click="paixu(0)">原顺序</button>
        </div>
        <div v-for="(item,index) in searchList">
            {{item.name}}----{{item.price}}
        </div>
    </div>
</body>
<script src="../js/vue2.7.js"></script>
<script>
    var app=new Vue({
        el:"#app",
        data(){
            return{
                keyword:0,//控制排序的
                searchInput:"",
                goodsList:[
                    {name:"牛仔裤",price:40},
                    {name:"运动裤",price:80},
                    {name:"直筒裤",price:30},
                    {name:"西裤",price:150},
                    {name:"运动鞋",price:120},
                    {name:"小白鞋",price:30},
                    {name:"皮鞋",price:130},
                    {name:"黄金短裤",price:10000}
                ],
                person:{
                    name:"导导",
                    seg:"男"
                }
            }
        },
        methods:{
            paixu(val){
                this.keyword=val
            }
        },
        computed:{
            //把goodsList的内容过滤,把符号条件的形成新的数组
            //filter时数组的过滤方法,这个方法的参数是一个函数,此函数返回true,则把此行返回新的数组中
            searchList(){
                let list=this.goodsList.filter((item)=>{
                    return item.name.indexOf(this.searchInput)!==-1
                })
                if (this.keyword) {
                    list.sort((a1,a2)=>{
                        return this.keyword===1
                        ? a1.price - a2.price
                        : a2.price - a1.price;
                    })
                }
                return list
            }
        }
    })
</script>
相关文章
|
1月前
|
JavaScript
vue element plus Descriptions 描述列表
vue element plus Descriptions 描述列表
54 0
|
5月前
|
JavaScript 前端开发
如何实现vue中的列表动画,如何封装vue动画
如何实现vue中的列表动画,如何封装vue动画
|
4月前
|
存储 JavaScript 前端开发
从入门到项目实战 - Vue 列表渲染
从入门到项目实战 - Vue 列表渲染
56 0
|
22天前
|
JavaScript
ant design vue 在列表中使用插槽 例如当性别为0的时候在列表中我想显示男
ant design vue 在列表中使用插槽 例如当性别为0的时候在列表中我想显示男
12 0
|
1月前
|
JavaScript 前端开发 索引
vue 列表渲染
vue 列表渲染
|
1月前
|
JavaScript 网络架构
列表进入详情页传参问题(vue的问题)
列表进入详情页传参问题(vue的问题)
|
1月前
|
JavaScript 网络架构
列表进入详情页的传参问题(vue的问题)
列表进入详情页的传参问题(vue的问题)
11 0
|
2月前
|
JavaScript
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
169 2
|
3月前
|
JavaScript 前端开发 API
|
4月前
Vue3实现列表的拖拽切换
Vue3实现列表的拖拽切换