【问题标题】:Angular Material Form autocomplete with 5000 values具有 5000 个值的 Angular Material Form 自动完成
【发布时间】:2019-03-09 23:44:59
【问题描述】:

我正在使用 Angular 7 和 Angular 材质。

我通过将值直接存储在我的组件中来使用autocomplete angular form material component

除了现在,我想过滤超过 5000 个值。如果我将它直接存储在我的组件中,我会失去性能。

我需要采取什么策略?

【问题讨论】:

  • 尝试使用 API 调用过滤值。

标签: angular forms autocomplete angular-material


【解决方案1】:

这确实是针对特定情况的。 我的建议如下:

不要自动对ngOnInit 的所有 5000 条记录进行排序,而是等到用户第一次在您的自动完成搜索栏中键入。输入字母后,执行 API 调用,在后端过滤这些记录,返回这些记录的一小部分。

然后将在前端执行其余的过滤。

【讨论】:

  • 您好,我使用 Firebase。我认为将我的静态数组存储在资产文件夹中会更好,但您更喜欢在 firebase 中?请问有实现的例子吗?
  • 因此,在您的情况下,简单地在前端过滤它们会简单得多。在这种情况下,您最方便的解决方案是找到基于数据结构过滤数据的最佳实践。基于多种过滤技术。
【解决方案2】:

当输入任何要过滤的数据时,您必须分页加载最多 20 个元素。并使用 debounce time 和 Subject 来触发输入数据并取消 observable。

【讨论】:

  • 你知道在后端使用参数页面和大小进行分页吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
  • 2020-01-11
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多