user-interface - 淘汰赛时树视图的 UI 冻结问题
问题描述
我有一个使用敲除模板构建树视图的场景,当我尝试加载具有 10-15 个子节点的 30 -40 时,每个子节点可能有也可能没有 10-15 个子节点。所以这里的问题是当我尝试搜索任何节点时加载需要时间,有时我会遇到 ui 冻结问题。有人可以帮助解决这个问题。
I/p 是这样的
self.items = ko.observableArray([
{ name: "name1", viewable: true, children: [
{ name: "name1-1", viewable: true},
{ name: "name1-2", viewable: false},
{ name: "name1-4", viewable: false},
{ name: "name1-3", viewable: false}
] },
{ name: "name2", viewable: false, children: [] },
{ name: "name3", viewable: true, children: [
{ name: "name3-1", viewable: true},
] },
{ name: "name4", viewable: true, children: [] }
]);
并且为了过滤我使用这个代码
root.children().forEach(function setVisible(child) {
child.children().forEach(setVisible);// descend into the tree first...
child.isVisible( // and then we can decide child visibility
child.name().toLowerCase().includes(searchValue) ||
child.children().some(child => child.isVisible())
);
child.isSelectable(child.isSelectable() && child.isVisible()) // and then we can decide child visibility
});
root.children.valueHasMutated();
解决方案
推荐阅读
- c - 在具有最小列号的矩阵中查找前导元素
- docker - 在 docker 容器的文本编辑器中未正确显示特殊字符
- html - 减小尺寸(掩码图像)。你能帮助我吗?
- angular - 反应形式 - 输入字段自动聚焦 - Angular
- excel - 如何遍历我的变量数组进行计数然后计算?
- python - 将表格导出为 csv 保持格式 python
- java - 两台计算机的 Java 服务器/客户端
- go - 尝试创建问题时来自 GitHub API 422 的意外错误响应
- prediction - 一种估计APP/任务执行时间的方法/工具
- c# - Unable to connect to SQL Server from a docker container