如何将app-logo-image添加到primeng菜单栏?

nsk*_*nsk 5 primeng angular

我遵循了https://www.primefaces.org/primeng/#/menubar,它很好地显示了可以作为列表传递的菜单项。我的要求是将与应用程序相关的徽标图像添加到左上角。Plz可以建议如何进行这项工作。

ngOnInit() {
        this.items = [
            {label: 'Chart', icon: 'fa-bar-chart', routerLink: 'charts'},
Run Code Online (Sandbox Code Playgroud)

和我的HTML看起来如下

<p-menubar [model]="items"></p-menubar>
Run Code Online (Sandbox Code Playgroud)

由于只是将项目作为数组传递,我可能知道如何显示app-logo-image。

小智 7

这应该有帮助

<p-menubar [model]="items">
  <ng-template pTemplate="start">
    <img src="/assets/images/logo.png" height="40" class="p-mr-2" alt="brand logo">
  </ng-template>
  <ng-template pTemplate="end">
    <label>
      <input type="text" pInputText placeholder="Szukaj">
    </label>
    <button type="button" (click)="logout()" pButton label="Wyloguj" icon="pi pi-power-off" style="margin-left:.25em"></button>
  </ng-template>
</p-menubar>
Run Code Online (Sandbox Code Playgroud)

  • 我使用的是 v11.0.0-rc.1,直到我将 SharedModule 导入到我的模块中后才起作用。**从 'primeng/api'导入 { SharedModule };** 并将其添加到您的导入中。我最喜欢这个解决方案,因为它不需要自定义 CSS。 (6认同)
  • 这很好用,但是这个记录在哪里?感觉缺少很多文档,因此鼓励用户购买高级模板。 (2认同)

Ant*_*ppe 3

您可以做的是添加自定义内容

自定义内容可以放置在 p-menubar 标签之间。


插入您的徽标图像:

<p-menubar [model]="items">
    <img id="logo" src="https://www.primefaces.org/wp-content/uploads/fbrfg/favicon-32x32.png"/>        
</p-menubar>
Run Code Online (Sandbox Code Playgroud)

然后,使用几行 CSS,将 a 添加padding-left到菜单项并将徽标放置在左侧:

.ui-menubar-root-list {
  padding-left:32px;
}

img#logo {
  position:absolute;
  left:0;
}
Run Code Online (Sandbox Code Playgroud)

演示