Angular Mat 树重新渲染性能问题需要太多时间

2024-01-12

我在用mat-treeAPI 调用子节点上的子节点中有非常大的数据集,大约有 3k 条记录,我正在做的是通过在数据源下添加来自 API 的子节点并重新渲染来更新数据源

this.dataSource.data = updatedDataDource;

重新渲染需要超过 15 秒,这是不可接受的。

有什么方法可以让我只重新渲染该节点以及 api 中的关联子节点(我的意思是部分渲染)。如果有人有同样的问题,请帮忙。


在子树上使用 *ngIf 而不是 class.sub-tree-invisible 进行树选择。

<ul [class.tree-invisible]="!treeControl.isExpanded(node)">

将其更改为

<ul *ngif="treeControl.isExpanded(node)">

这将提高树选择的性能。这样,在初始加载时,只有根节点必须在 DOM 中渲染。过滤后,必须插入与过滤器查询匹配的子节点,这可能会很昂贵。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular Mat 树重新渲染性能问题需要太多时间 的相关文章

随机推荐

  • 如何修复 FileNotFoundError: [WinError 2] 系统找不到 AudioSegment.from_mp3() 指定的文件

    我一直在尝试找到视频音频中音频静音空间的位置 但我无法通过在 python 3 中使用 pydub 导入音频文件 我已经尝试将 pydub 检查 ffmpeg 的目录更改为项目内的目录 并且该文件位于我运行脚本的目录中 但它似乎仍然返回相同
  • GitLab 页面:可以从项目 wiki 生成静态站点吗?

    所以我知道 GitLab 页面可用于从项目的存储库生成静态网站 然而 我想做的是从项目生成一个静态站点wiki 这是一个单独的存储库 我还知道我可以将静态站点生成器挂钩到 webhook 事件以通知 wiki 更改 我正在尝试弄清楚这个明显
  • jQuery - 是否可以复制和粘贴 HTML?

    jQuery 是否可以复制和粘贴 HTML 从一个例子开始 如果我有以下 HTML 行 div somethings like 100 lines of code div 我想知道我是否可以将此 div 复制并粘贴多次 我尝试放置一个 jQ
  • 永久添加 hive jar

    有什么方法可以永久添加 hive jar 而不是在 hive shell 中的会话级别添加 任何帮助 将不胜感激 在 hiveserver2 主机中 创建一个类似 var lib hive 的位置 并在该文件夹中添加所有必需的 jar 编辑
  • 检查项目是否重叠

    我有几个房间是随机放置的 所以我必须检查房间是否重叠 房间的大小为 10x10 出于测试原因 房间完全并排放置 它们在场景中不重叠 地板是一种变换 由 1 个或多个变换组成 在本例中 由一个正方形组成 但对于其他形式 它可能是 2 个或更多
  • Python互相关未返回正确的移位

    我正在学习互相关 为此我在一些简单的示例上运行 scipy signal correlate 然而 在某些情况下 相关函数的最大值与输入时移不一致 即使正确的时移存在于dt 我怀疑问题在于我的定义dt 但经过几次迭代后 我还没有设法使转变始
  • 如果 Java 线程在这种情况下不应该表现得如此不同,为什么它们的行为如此不同?

    我有线程睡眠问题 在线程运行方法内部 我有一个同步块和一个睡眠时间 每个线程以 5 个单位递增或递减共享类 值 然后休眠 public class borr public static void main String args int t
  • bash - 将脚本作为另一个脚本的参数传递

    我在 SO 上找不到类似的问题 如何正确地将 bash 脚本作为参数传递给另一个 bash 脚本 例如 假设我有两个脚本 每个脚本都可以接受多个参数 我想将一个脚本作为另一个脚本的参数传递 就像是 script1 script2 file1
  • Visual Studio 2019:调试期间“本地”面板中出现错误 - “检索本地值的内部错误”

    原始问题 有关复制说明 请参阅更新 II 我最近在调试会话期间摆弄了 Visual Studio 2019 我将 SqlCommand 类的一些属性固定为 收藏夹 从那一刻起 我在 locals 中收到一条错误消息 内部错误检索本地值 值列
  • 在 C# 中使用十进制值作为属性参数?

    我一直在尝试使用十进制值作为字段属性的参数 但出现编译器错误 我找到了这篇博文link http salamakha com blog 2007 09 21 decimal in c attributes 说它不可能在 NET 中使用 有人
  • 子目录中的 CodeIgniter 默认控制器不起作用

    我的路由配置中的 default controller 设置为 home php 我的控制器有一个子目录 我们称之为 文件夹 所以如果我访问http mysite com folder http mysite com folder 默认控制
  • 在 Python 2.7.13 上使用 pip 安装 sqlite 时出错

    我正在尝试使用 pip 安装 pysqlite 但它一直给我一个错误 无法打开包含文件 sqlite3 h 没有这样的文件或目录 我使用的是 Windows 10 操作系统 64 位 Python 版本 2 7 13 我正在尝试使用 pip
  • 如何将向量映射到R中的不同范围?

    我有一个向量在范围内 1 10 c 1 2 9 10 我想将其映射到不同的范围 例如 12 102 c 12 22 92 102 R 中是否已经有一个函数可以执行此操作 linMap lt function x from to x min
  • 检测 calloutAccessoryControlTapped 仅右侧的点击 CalloutAccessoryView

    My calloutAccessoryControlTapped当我点击注释视图时也会调用这种行为是对的 https stackoverflow com questions 36432782 why calloutaccessorycont
  • WebSocket + AngularJS 客户端

    目标 开发一个 WebSocket AngularJS 客户端 我的目标是使用 AngularJS 创建一个 WebSocket 客户端 该程序预计会向 java 服务器发送一条消息 该服务器会回复相同的消息和日期 服务器端工作正常 如下所
  • 从另一个目录导入文件

    我有一个文件通话entryPoint py from commonLib deviceLib import 我有一个名为deviceLib py import math import sys import logging import re
  • 使用 EL 表达式将组件 ID 传递给 JSF 中的复合组件

    问题 我将 EL 表达式传递给复合组件 但 EL 表达式是从复合组件内部而不是之前进行计算的 其目的是 EL 表达式计算结果为字符串 并将其发送到复合组件 我有一个复合组件 MenuTable
  • MouseWheelMotion 事件期间窗口变为空白

    我编写了这个简单的程序 它显示按键操作 绘制短语 Hello World 其中光标移动 单 击时具有轨迹模式 并且还循环显示 Hello World 的颜色 当鼠标滚轮滚动 然而 这样做有一个问题 当鼠标滚轮滚动时 整个窗口会变成空白 显示
  • android google Drive API 中的drive.appdata 范围计划

    我想在正在开发的新 Android 应用程序中使用特殊应用程序数据文件夹中的文件 又名驱动器 appdata https developers google com drive web appdata scope 谷歌的你们在新的 Goog
  • Angular Mat 树重新渲染性能问题需要太多时间

    我在用mat treeAPI 调用子节点上的子节点中有非常大的数据集 大约有 3k 条记录 我正在做的是通过在数据源下添加来自 API 的子节点并重新渲染来更新数据源 this dataSource data updatedDataDour