Angular 实现右键菜单

产品提的新需求,希望在数据行可以像使用 <a> 标签一样 右键选择新标签页打开。 同时考虑到如果单纯使用 <a> 标签 那么每次点击都要刷新浏览器地址。效果不是很理想。

因此分析了一下,决定使用Angular中的下拉菜单。在数据行右键自定义下拉菜单,提供新标签页打开选项。具体代码实现如下 :

<!-- html 文件中 添加右键菜单组件 --> 
<a (click)="gotoDetail(item)"  (contextmenu)="contextMenu($event, contextTemplate,item)">{{item.orderCode}}</a>

<ng-template #contextTemplate>
  <ul nz-menu
      nzInDropDown
      nzSelectable
      (nzClick)="close()">
    <li nz-menu-item
        (click)="gotoDetailOnNewPage()">
      <i class="anticon anticon-link anticon-right-margin"></i>
      <span>在新页面中打开链接</span>
    </li>
  </ul>
</ng-template>


// 引入angular 右键菜单
import {  NzDropdownContextComponent,NzDropdownService } from 'ng-zorro-antd';

constructor(
    public dropdownService: NzDropdownService
) { }

dropdown:NzDropdownContextComponent;

// 右键菜单-关闭  
close(){
  this.dropdown.close();
}

// 右键菜单-打开
contextMenu($event,template){
  this.dropdown=this.dropdownService.create($event,template);
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值