Angular

Create Drop-Down Using Custom Directives

How to Create Drop-Down Using Custom Directives in Angular

Hello Readers, Today’s topic is how can we create our custom drop-down in angular using custom directives.

First, we need to Create “custom-drop-down-directives.ts” as per the below code.

import { Directive,HostBinding,HostListener} from '@angular/core';

@Directive({
    selector: '[myDropDown]',
    exportAs:'myDropDown'
  })

  export class DropDownDirective {
    @HostBinding('class.open') isOpen = false;
 
   @HostListener('click') toggleopen() {
     this.isOpen = !this.isOpen;
   }
 }

Here our Custom directives script is ready now let’s move on to the next point.

Let’s move into “app.module.ts”  and Import as like the below code.

import { DropDownDirective } from 'src/app/custom-drop-down-directives'; // Your file path

Now next step is to add our Directive in the Declaration.

declarations: [ DropDownDirective ]

Now we are ready to go in our HTML file to create a custom DropDown.

Here is a snippet code of our custom Drop-Down. take a look below.

<div class="btn-group" myDropDown #r="myDropDown">
      <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
        Custom Drop-Down
      </button>
      <ul class="dropdown-menu" [ngClass]="{'show':r.isOpen}">
        <li><a class="dropdown-item" *ngFor="let custdd of customDropDownLst" (click)="dropdownselect(custdd.name)"           (0);">{{custdd.name}}</a></li>
      </ul>
</div>

Now we are all done here Now ready to explore our Drop-Down. let’s Check the below Image.

 

Himanshu Kanthariya

Recent Posts

Testing hk

Testing

2 years ago

Create and Used PIPE in angular

In this article, we have to show Create and Used PIPE in angular

2 years ago

Operation

Testing

2 years ago

Create and Used PIPE in angular

In this article, we have to show Create and Used PIPE in angular

2 years ago

Create and Used PIPE in angular

In this article, we have to show Create and Used PIPE in angular

2 years ago

TETS NEW

test

2 years ago