AngularMaterialTree-扩展节点状态丢失
创始人
2024-10-28 10:34:50
0

这个问题通常是由于Angular Material Tree组件不会在每个扩展节点状态改变时保持其状态所致。为了解决这个问题,我们可以创建一个新的属性来保存已扩展的节点的状态,并在组件中添加一个扩展节点事件监听器,以及一个在组件初始化时执行的函数。

以下是示例代码:

在组件类中添加以下代码:

expandedNodes: string[] = [];

constructor(private treeControl: FlatTreeControl, private database: FileDatabase) {
  this.treeControl.expansionModel.changed.subscribe(change => {
    if (change.added) {
      change.added.forEach(node => this.toggleNode(node, true));
    }
    if (change.removed) {
      change.removed.slice().reverse().forEach(node => this.toggleNode(node, false));
    }
  });
}

ngOnInit() {
  this.database.initialize().subscribe(() => {
    this.treeControl.dataNodes = this.database.data;
    this.expandedNodes.forEach(node => {
      this.treeControl.expand(this.treeControl.dataNodes.find(n => n.filename === node));
    });
  });
}

toggleNode(node, expand) {
  if (expand) {
    this.expandedNodes.push(node.filename);
  } else {
    const index = this.expandedNodes.indexOf(node.filename);
    if (index >= 0) {
      this.expandedNodes.splice(index, 1);
    }
  }
}

在这个例子中,我们创建了一个数组expandedNodes用来保存已扩展的节点的状态。在构造函数中,我们添加一个事件监听器,以在扩展节点时更新该数组。在ngOnInit()方法中,我们初始化数据,并使用this.expandedNodes数组来展开缓存的节点。最后,我们添加一个toggleNode()方法,用来更新expandedNodes数组中每个节点的状态。

希望这个解决方法能够帮助你解决Angular Material Tree无法保持扩展节点状态的问题。

相关内容

热门资讯

辅助透视!德普之星辅助器,拱趴... 辅助透视!德普之星辅助器,拱趴大菠萝万能辅助器,详细教程(好像存在有挂);亲,其实确实真的有挂(需添...
透视最新!wpk辅助器安装,拱... 透视最新!wpk辅助器安装,拱趴大菠萝万能辅助器,新版2025教程(原生是有挂);wpk辅助器安装黑...
透视教学!aapoker透视脚... 透视教学!aapoker透视脚本下载,wpk私人辅助,详细教程(原来存在有挂);亲真的是有正版授权,...
透视软件!wpk有没有脚本,w... 透视软件!wpk有没有脚本,wpk软件是正规的吗,攻略教程(原本真的有挂),支持语音通讯、好友开房及...
透视ai!wpk透视辅助方法,... 您好,wpk透视辅助方法这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
透视好友!wpk辅助工具下载,... 透视好友!wpk辅助工具下载,德扑圈透视,详细教程(从前有挂)是一款可以让一直输的玩家,快速成为一个...
透视了解!hhpoker透视方... 透视了解!hhpoker透视方法,wepoker私人局外卦,必赢方法(原来真的是有挂)1、这是跨平台...
透视美元局!aapoker辅助... 透视美元局!aapoker辅助器怎么用,pokemomo辅助工具,总结教程(素来真的是有挂);一、a...
透视有挂!wepoker底牌透... 透视有挂!wepoker底牌透视脚本,wepoker公共底牌,wpk教程(一贯是真的有挂)1、很好的...
透视黑科技!aapoker辅助... 透视黑科技!aapoker辅助挂,wepoker透视底牌,科技教程(原先真的有挂);原来确实真的有挂...