美文网首页
vue学习(19)列表过滤、排序

vue学习(19)列表过滤、排序

作者: 哆啦C梦的百宝箱 | 来源:发表于2022-03-02 11:06 被阅读0次
<div id="root">
        <input type="text" v-model="keyWords" placeholder="请输入姓名">
        <button @click="sortTyp = 1">年龄升序</button>
        <button @click="sortTyp = 2">年龄降序</button>
        <button @click="sortTyp = 0">原顺序</button>
        <ul>
            <li v-for="(p,index) in filterPersons" :key="p.id">
                {{p.name}}-{{p.age}}
            </li>
        </ul>
    </div>

 new Vue({
            el: '#root',
            data: {
                keyWords: '',
                sortTyp: 0,
                persons: [
                    { id: '001', name: '马冬梅', age: 18 },
                    { id: '002', name: '周冬雨', age: 19 },
                    { id: '003', name: '周杰伦', age: 20 },
                    { id: '004', name: '温兆伦', age: 21 }
                ]
            },
            computed: {
                filterPersons() {
                    const arr = this.persons.filter(item => {
                        return item.name.indexOf(this.keyWords) !== -1;
                    });
                    if (this.sortTyp) {
                        arr.sort((a, b) => {
                            return this.sortTyp === 1 ? a.age - b.age : b.age - a.age;
                        })

                    };
                    return arr;
                }
            }
        })
知识点

1:一个字符串中,使用indexOf筛选是否包含空字符时,返回0,而非-1。如'abc'.indexOf('') 返回0。
2:数组的filter方法不会改变原数组,需要拿一个变量接,数组的sort方法会改变原数组,前-后=》升序,后-前=》降序。
3:上述例子同样可以使用watch实现,因为能用computed实现的一定可以使用watch实现。

相关文章

  • vue学习(19)列表过滤、排序

    知识点 1:一个字符串中,使用indexOf筛选是否包含空字符时,返回0,而非-1。如'abc'.indexOf(...

  • Vue7.列表渲染

    1. :key的内部原理, vue中的key有什么作用? 代码实例: 2. 列表过滤 3. 列表排序 3. Vue...

  • 在线商城项目06-商品列表页前端逻辑实现

    简介 本篇,我们做一些商品列表页的前端逻辑功能。 价格过滤列表的点击逻辑 价格过滤列表的露出逻辑 排序点击的逻辑 ...

  • vue2(二)

    目录 ◆ vue 简介◆ vue 的基本使用◆ vue 的调试工具◆ vue 的指令与过滤器◆ 品牌列表案例 一 ...

  • Vue数组

      Vue为了增加列表渲染的功能,增加了一组观察数组的方法,而且可以显示一个数组的过滤或排序的副本。 变异方法  ...

  • Vue过滤器和vue-resource

    过滤器 之前我们学习了Vue的 vue基本指令 进阶学习,我们需要了解Vue的过滤器:Vue.js允许你自定义过滤...

  • vue之列表过滤

    new Vue({el: '#app',data: {keywork: '',persion: [{id:'001...

  • 面试

    1、树型结构,过滤 2、数组去重,排序,深拷贝,取最大值 3、函数作用域、原型链 4、vue、vue-router...

  • vue orderBy按数值大小排序

    需求:Vue 在列表渲染的时候,能排序显示么。 比如按价格从大到小排序 问题原文地址:https://segmen...

  • Vue-过滤器(系统过滤器和自定义过滤器)

    1. 系统过滤器 eg1:利用vue1.0中的系统过滤器filterBy实现列表按条件刷选查询 2. 自定义过滤器...

网友评论

      本文标题:vue学习(19)列表过滤、排序

      本文链接:https://www.haomeiwen.com/subject/vulkrrtx.html