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>
相关文章
|
6月前
|
JavaScript
vue element plus Descriptions 描述列表
vue element plus Descriptions 描述列表
235 0
|
1月前
|
JavaScript API
vue尚品汇商城项目-day04【24.点击搜索按钮跳转后的页面商品列表、平台售卖属性动态展示(开发Search组件)】
vue尚品汇商城项目-day04【24.点击搜索按钮跳转后的页面商品列表、平台售卖属性动态展示(开发Search组件)】
51 1
vue尚品汇商城项目-day04【24.点击搜索按钮跳转后的页面商品列表、平台售卖属性动态展示(开发Search组件)】
|
2月前
|
JavaScript 前端开发
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
|
2月前
|
JavaScript 前端开发 API
Vue学习笔记7:使用v-for指令渲染列表
Vue学习笔记7:使用v-for指令渲染列表
|
3月前
|
JavaScript
Vue3描述列表(Descriptions)
该组件库包含 `Descriptions` 和 `DescriptionsItem` 两种组件,需配合使用。`Descriptions` 用于构建描述列表,提供标题、操作区、边框、垂直布局等配置;`DescriptionsItem` 作为列表项,可自定义标签和内容样式。支持响应式布局,并集成了多个实用工具函数,如节流、事件监听等。可通过属性灵活调整列表样式与布局。
Vue3描述列表(Descriptions)
|
2月前
|
JavaScript 前端开发 UED
组件库实战 | 用vue3+ts实现全局Header和列表数据渲染ColumnList
该文章详细介绍了如何使用Vue3结合TypeScript来开发全局Header组件和列表数据渲染组件ColumnList,并提供了从设计到实现的完整步骤指导。
|
3月前
|
JavaScript API
Vue学习之--------列表排序(ffilter、sort、indexOf方法的使用)、Vue检测数据变化的原理(2022/7/15)
这篇博客文章讲解了Vue中列表排序的方法,使用`filter`、`sort`和`indexOf`等数组方法进行数据的过滤和排序,并探讨了Vue检测数据变化的原理,包括Vue如何通过setter和数组方法来实现数据的响应式更新。
Vue学习之--------列表排序(ffilter、sort、indexOf方法的使用)、Vue检测数据变化的原理(2022/7/15)
|
3月前
|
JavaScript
Vue学习之--------列表渲染、v-for中key的原理、列表过滤的实现(2022/7/13)
这篇博客文章详细介绍了Vue中列表渲染的基础知识、`v-for`指令的使用、`key`的原理和列表过滤的实现。通过代码实例和测试效果,展示了如何遍历数组和对象、使用`key`属性优化渲染性能,以及如何实现列表的动态过滤功能。
Vue学习之--------列表渲染、v-for中key的原理、列表过滤的实现(2022/7/13)
|
3月前
|
JavaScript UED 开发者
精彩!Vue 实现消息列表向上无缝滚动!丝滑...
精彩!Vue 实现消息列表向上无缝滚动!丝滑...