【问题标题】:Expand root nodes in Angular Material Tree在 Angular 材质树中展开根节点
【发布时间】:2019-01-07 11:56:08
【问题描述】:

我知道有可用的方法来展开和折叠所有节点,但我只想展开第一级节点(根节点)。这怎么可能?

【问题讨论】:

    标签: angular angular-material angular-material2 angular-material-5


    【解决方案1】:

    如果您将 ngAfterViewInit 添加到您的组件中,您可以使用 treeControl 上的切换方法来展开由切换参数指定的节点,但根据您的设置,您可能需要做一些额外的工作来获取您想要的节点扩张。这是我为扩展第一个节点所做的:

    ngAfterViewInit() {
    const subject = this.dataSource._flattenedData
    subject.subscribe((data) => {
      this.treeControl.toggle(data[0])      
    })
    }
    

    如果你想扩展一个特定的节点,你可以挖掘从订阅返回的数据,但只要确保在订阅接收到之前不要尝试抓取内容,或者有一些条件可以捕获。这是我为扩展第一个节点下的所有节点所做的操作:

    ngAfterViewInit() {
    const subject = this.dataSource._flattenedData
    subject.subscribe((data) => {
      this.treeControl.toggle(data[0])
      if(data[1]){
        let i = 1
        while (data[i].level != 0) {
          this.treeControl.toggle(data[i++])
        }
      }      
    })
    }
    

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 2019-04-04
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 2019-04-06
      相关资源
      最近更新 更多