menu获得被点击的值信息

根据官网代码改

import { Component } from '@angular/core';

@Component({
  selector: 'nz-demo-menu-recursive',
  template: `
    <ul nz-menu nzMode="inline" style="width: 260px;">
        <ng-container *ngFor="let menu of menus">
          <li
            *ngIf="menu.hasOwnProperty('children')"
            nz-submenu
            [nzPaddingLeft]="menu.level * 24"
            [nzTitle]="menu.title"
          >
            <ul>
              <li nz-menu-item *ngFor="let child of menu.children"
              [nzSelected]="click(child)" 
              >  {{child.title}}</li>
            </ul>
          </li>

           <li *ngIf="!menu.hasOwnProperty('children')" nz-menu-item>
          <span>{{ menu.title }}</span>
          </li>
        </ng-container>
    </ul>
  `,
})
export class NzDemoMenuRecursiveComponent {
  mode = false;
  dark = false;
  menus = [
    {
      level: 1,
      title: 'Team Group2',
      Id: '11',
      children: [
        {
          level: 2,
          title: 'User 111',
          Id: '111',
        },
        {
          level: 2,
          title: 'User 2222',
          Id: '112',
        },
      ],
    },
    {
      level: 1,
      title: 'Team Group3',
      Id: '22',
    },
  ];
  click(data) {
    console.log(data);
  }
}

生成效果
image.png

问题
点击user111或者2222或者没有二级的group3时,我想获得他的信息,level/title/Id

[nzSelected]尝试过,但是是两个二级的信息都会出现,我现在只需要一个特定的信息,应该怎么写呢

阅读 2.6k
2 个回答
import { Component } from '@angular/core';

@Component({
  selector: 'nz-demo-menu-recursive',
  template: `
    <ul nz-menu nzMode="inline" style="width: 260px;">
        <ng-container *ngFor="let menu of menus">
          <li
            *ngIf="menu.hasOwnProperty('children')"
            nz-submenu
            [nzPaddingLeft]="menu.level * 24"
            [nzTitle]="menu.title" 
          >
            <ul>
              <li nz-menu-item *ngFor="let child of menu.children"
              (click)="click(child)" 
              >  {{child.title}}</li>
            </ul>
          </li>

           <li *ngIf="!menu.hasOwnProperty('children')" nz-menu-item (click)="click(menu)">
          <span>{{ menu.title }}</span>
          </li>
        </ng-container>
    </ul>
  `,
})
export class NzDemoMenuRecursiveComponent {
  mode = false;
  dark = false;
  menus = [
    {
      level: 1,
      title: 'Team Group2',
      Id: '11',
      children: [
        {
          level: 2,
          title: 'User 111',
          Id: '111',
        },
        {
          level: 2,
          title: 'User 2222',
          Id: '112',
        },
      ],
    },
    {
      level: 1,
      title: 'Team Group3',
      Id: '22',
    },
  ];
  click(data) {
    console.log(data);
  }
}

image.png

使用(click)就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题