【问题标题】:Fast Search for Vue from Big Json Data从大 Json 数据中快速搜索 Vue
【发布时间】:2019-10-04 01:36:21
【问题描述】:

我在 Vue 中有一个 Buefy 数据表,它加载了通过 php 文件呈现的 json 数据。

我在我的表中寻找一个快速的搜索过滤器,我已经有了这个:

模板:

<b-field label="Search by Bid Price">
          <b-input v-model="search_query.price"/>
        </b-field>

数据:search_query: { price: "" },

计算函数:

filter: function() {
      if (this.search_query.price) {
        let price_re = new RegExp(this.search_query.price, "i");
        let data = [];
        for (let i in this.posts) {
          if (
            this.posts[i].price &&
            this.posts[i].price.toString().match(price_re)
          ) {
            data.push(this.posts[i]);
          }
        }
        return data;
      }
      return this.posts;
    }

但根据我的数据(大约 400 行,有时取决于查询),这并不快而且很慢。

【问题讨论】:

  • 这会有很大的不同吗?
  • 抱歉,这是一个错误的问题。但我不明白你为什么要使用正则表达式。而且也不确定为什么在不使用数据时要填充数据
  • 希望您留下问题,以便有相同想法的人可以纠正自己
  • 不使用是什么意思?你有什么建议?
  • 您能否提供更多信息,说明您是如何说这很慢的?抛出 400 甚至更多的物体应该相当快。

标签: performance vue.js search


【解决方案1】:

所以我所做的是我使用vue-fuse 来创建一个不错且可自定义的搜索设置。但我遇到了滞后效应,因为我的桌子后面有一个沉重的 json 需要搜索,所以我使用来自lodash 的 debounce 来修复它。它现在就像一个魅力。

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多