Как скрыть элемент div / template в контекстном меню - PullRequest
0 голосов
/ 02 апреля 2019

Я использую shcontextmenu и мне нужно скрыть элемент / шаблон в соответствии с условием.

Я попытался, как показано в приведенном ниже коде, используя данные

<sh-context-menu #menu>
    <ng-template shContextMenuItem let-data (click)="onRightClick($event, 'add')" >
        <div *ngIf="data.type === 'ice'">
            Add ice
        </div>
    </ng-template>
    <ng-template shContextMenuItem let-data (click)="onRightClick($event, 'delete')">
        <div *ngIf="data.type === 'ice'">
            Delete ice
        </div>
    </ng-template>
    <ng-template shContextMenuItem let-data (click)="onRightClick($event, 'removeProduct')">
        <div *ngIf="data.type !== 'ice'">
            Remove ice
        </div>
    </ng-template>
</sh-context-menu>

И когда условие удовлетворяет, оно скрывает только текст, а если навести на него курсор, я вижу пустой элемент с синим фоном. Помогите пожалуйста как спрятать весь div / template Заранее спасибо.

1 Ответ

0 голосов
/ 02 апреля 2019

вы на самом деле скрываете div здесь, а не template, сделайте некоторые изменения, как показано ниже

<sh-context-menu #menu>
  <div *ngIf="data.type === 'ice'">
   <ng-template shContextMenuItem let-data (click)="onRightClick($event, 'add')" >
        Add ice
   </ng-template>
  </div>
  <div *ngIf="data.type === 'ice'">
    <ng-template shContextMenuItem let-data (click)="onRightClick($event, 'delete')">
        Delete ice
    </ng-template>
  </div>
  <div *ngIf="data.type !== 'ice'">
     <ng-template shContextMenuItem let-data (click)="onRightClick($event, 'removeProduct')">
        Remove ice
     </ng-template>
  </div>
</sh-context-menu>

Я надеюсь, что это решит вашу проблему. :)

...