vue 使用 watch 监听 computed计算属性实现本地搜索及升序排序

这篇博客介绍了如何在Vue.js应用中使用watch监听和计算属性来实现本地数据的模糊搜索,并根据用户需求进行排序。通过监听keyValue的变化,过滤persons数组,将匹配的项存入filPersons。同时,利用计算属性filPersons,不仅完成过滤,还实现了根据type字段进行升序或降序排序的功能。
摘要由CSDN通过智能技术生成

一,watch 监听实现模糊搜索

1.本地数据

2,js 代码

 watch: {
    keyValue: {
      immediate: true, // 页面初始化时候执行, keyValue 为 undefined 将 filPersons = persons
      handler(val) {
        // 拿到 oldValue 做过滤 和 persons 数组中的值做一个比对
        // 将拿到的值重新赋值给 filPersons
        this.filPersons = this.persons.filter(item => {
          return item.name.indeOf(val) !== -1
        })
      }
    }
  },

二,用计算属性实现本地模糊搜索及排序

computed: {
    filPersons() {
      // 原理与监听一致
      const arr = this.persons.filter(item => {
        return item.name.indeOf(val) !== -1
      })
      // 判断是否需要排序
      if(type) {
        // 利用数组的 sort 方式排序
        arr.sort((a, b) => {
          return this.type == 1 ? b.age-a.age : a.age-b.age
        })
      }
      return arr // 将 arr 得到的结果返回给 filPersons
    }
  }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值