首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >新西兰TreeSelect.如何在子节点中显示父节点名?

新西兰TreeSelect.如何在子节点中显示父节点名?
EN

Stack Overflow用户
提问于 2022-09-05 10:30:25
回答 1查看 58关注 0票数 2

我有选项的树选择。当我单击Name时,它会显示名称,但我希望它是Item > Name,因为这是子节点。我该怎么办?我找到了nzDisplayWith,但没什么用。

代码语言:javascript
运行
复制
    const options = [{
    {
            title: 'Item',
            key: 'Item',
            children: [
                {
                    title: 'Name',
                    key: 'Item-Name',
                    isLeaf: true,
                }
             ]
    },
}]

  <nz-tree-select
            style="width: 100%"
            [nzNodes]="options"
            [nzDefaultExpandAll]="true"
            aria-autocomplete="none"
            nzVirtualHeight="240px"
            formControlName="field"
        ></nz-tree-select>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-05 10:48:39

我使用一个recursive函数来生成基于父级的标题,我使用了nzTreeTemplate来实现这一点。

html

代码语言:javascript
运行
复制
<nz-tree-select
  #tree
  class="tree-select"
  nzNoAnimation
  nzShowExpand
  [nzMaxTagCount]="2"
  [nzNodes]="nodes"
  [nzHideUnMatched]="true"
  nzVirtualHeight="498px"
  [nzShowSearch]="true"
  nzCheckable
  nzPlaceHolder="Please select"
>
  <ng-template #nzTreeTemplate let-node let-origin="origin">
    {{ recursive(node) }}
  </ng-template>
</nz-tree-select>

ts

代码语言:javascript
运行
复制
import {
  AfterContentInit,
  AfterViewInit,
  Component,
  ViewChild,
} from '@angular/core';
import { NzTreeSelectComponent } from 'ng-zorro-antd/tree-select';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent implements AfterViewInit, AfterContentInit {
  @ViewChild(NzTreeSelectComponent, { static: true })
  tree: NzTreeSelectComponent;
  nodes = [
    {
      title: 'Item',
      key: 'Item',
      children: [
        {
          title: 'Name',
          key: 'Item-Name',
          isLeaf: true,
        },
      ],
    },
  ];

  dropDownVisibleChange(open: boolean): void {
    if (open) {
      setTimeout(() => this.tree.openDropdown());
    } else {
      this.tree.closeDropDown();
    }
  }

  ngAfterViewInit(): void {
    // console.log(this.tree);
  }

  test(node) {
    console.log(node);
  }

  ngAfterContentInit(): void {
    // console.log(this.tree);
  }

  recursive(node, output = '') {
    if (node.isLeaf && node.parentNode) {
      return this.recursive(node.parentNode, output) + ` > ${node.title}`;
    } else {
      return node.title;
    }
  }
}

叉式堆栈闪电战

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73607965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档