Angular下拉菜单无法在我点击外部时关闭。
创始人
2024-10-30 03:00:45
0

要解决Angular下拉菜单无法在点击外部时关闭的问题,可以使用以下代码示例中所示的几个步骤:

  1. 创建一个指令,用于检测用户是否点击了下拉菜单以外的任何地方。
import { Directive, ElementRef, HostListener, Output, EventEmitter } from '@angular/core';

@Directive({
  selector: '[clickOutside]'
})
export class ClickOutsideDirective {
  constructor(private elementRef: ElementRef) { }

  @Output()
  public clickOutside = new EventEmitter();

  @HostListener('document:click', ['$event.target'])
  public onClick(targetElement: any) {
    const clickedInside = this.elementRef.nativeElement.contains(targetElement);
    if (!clickedInside) {
      this.clickOutside.emit(null);
    }
  }
}
  1. 在你的下拉菜单组件中使用该指令,并在点击外部时关闭下拉菜单。

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

@Component({
  selector: 'app-dropdown',
  templateUrl: './dropdown.component.html',
  styleUrls: ['./dropdown.component.css']
})
export class DropdownComponent {
  isDropdownOpen: boolean = false;

  toggleDropdown() {
    this.isDropdownOpen = !this.isDropdownOpen;
  }

  closeDropdown() {
    this.isDropdownOpen = false;
  }
}

通过使用clickOutside指令,我们可以检测用户是否点击了下拉菜单以外的任何地方,并在点击外部时关闭下拉菜单。

相关内容

热门资讯

黑科技辅助挂(德州免费辅助神器... 黑科技辅助挂(德州免费辅助神器app)外挂透视辅助方法(透视)好像存在有挂(黑科技工具)-哔哩哔哩1...
黑科技神器!wepoke辅助挂... 黑科技神器!wepoke辅助挂,智星德州菠萝有挂吗,透牌教程(有挂教程)-哔哩哔哩您好,智星德州菠萝...
黑科技app(WpK)微扑克a... 黑科技app(WpK)微扑克ai辅助神器(透视)辅助器(竟然真的是有挂);原来确实真的有挂(需添加指...
黑科技能赢!微扑克怎么加入俱乐... 黑科技能赢!微扑克怎么加入俱乐部(黑科技ai)切实是真的有挂(有挂后台)-哔哩哔哩;科技安装教程;1...
黑科技模拟器(wpk透视外挂购... 黑科技模拟器(wpk透视外挂购买渠道)外挂黑科技辅助助手(透视)果然真的有挂(黑科技介绍)-哔哩哔哩...
黑科技机器人!德扑之星辅牌软件... 黑科技机器人!德扑之星辅牌软件,微扑克透牌真假的,可靠技巧(有挂总结)-哔哩哔哩是一款可以让一直输的...
黑科技辅助挂(wpK)黑科技(... 黑科技辅助挂(wpK)黑科技(透视)ai辅助购买渠道(从来真的有挂);亲,其实确实真的有挂(需添加指...
黑科技存在!aapoker辅助... 黑科技存在!aapoker辅助透视(透视)切实是真的有挂(有挂输赢)-哔哩哔哩关于aapoker辅助...
黑科技辅助挂(aapoker辅... 黑科技辅助挂(aapoker辅助工具使用教程)外挂透明挂辅助下载(透视)好像真的有挂(黑科技介绍)-...
黑科技挂!wepok软件透明挂... 黑科技挂!wepok软件透明挂,wepoke辅助,可靠教程(有挂方法)-哔哩哔哩是一款可以让一直输的...