diff --git a/components/menu/demo/inline.ts b/components/menu/demo/inline.ts index 78e7f70336e..79995c2b94a 100644 --- a/components/menu/demo/inline.ts +++ b/components/menu/demo/inline.ts @@ -33,6 +33,13 @@ import { Component } from '@angular/core'; @@ -40,9 +47,9 @@ import { Component } from '@angular/core';
  • Navigation Three
  • diff --git a/components/menu/nz-submenu.component.ts b/components/menu/nz-submenu.component.ts index 76d43058ed4..dd99f6ff27f 100644 --- a/components/menu/nz-submenu.component.ts +++ b/components/menu/nz-submenu.component.ts @@ -1,7 +1,6 @@ import { animate, state, style, transition, trigger } from '@angular/animations'; import { CdkConnectedOverlay, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay'; import { - AfterContentInit, ChangeDetectorRef, Component, ContentChildren, @@ -89,7 +88,7 @@ import { NzMenuDirective } from './nz-menu.directive'; ] }) -export class NzSubMenuComponent implements OnInit, OnDestroy, AfterContentInit { +export class NzSubMenuComponent implements OnInit, OnDestroy { private _open = false; private _disabled = false; private $mouseSubject = new Subject(); @@ -302,23 +301,16 @@ export class NzSubMenuComponent implements OnInit, OnDestroy, AfterContentInit { } ngOnInit(): void { + if (this.nzSubMenuComponent) { + this.level = this.nzSubMenuComponent.level + 1; + this.isInSubMenu = true; + } this.nzMenuDirective.subMenus.push(this); const $combineAll = combineLatest(this.$subOpen, this.$mouseSubject.asObservable()).pipe(map(value => value[ 0 ] || value[ 1 ]), auditTime(150)); $combineAll.pipe(takeUntil(this.unsubscribe$)).subscribe(this.handleOpenEvent); this.isInDropDown = this.nzMenuDirective.nzInDropDown; } - ngAfterContentInit(): void { - if (this.subMenus && this.subMenus.length) { - this.subMenus.filter(x => x !== this).forEach(menu => { - if (this.subMenuMode === 'inline') { - Promise.resolve().then(() => menu.level = this.level + 1); - } - menu.isInSubMenu = true; - }); - } - } - ngOnDestroy(): void { this.unsubscribe$.next(); this.unsubscribe$.complete();