1
头图

在绝大部分情况下,antd的tooltip都表现的很好,十分好用,但是在一些tooltip在需要跳转到其他页面的按钮上的时候,跳转以后tooltip也会有持续存在,不消失的问题,所以这时候就需要能够在点击的时候主动关闭tooltip


不啰嗦,直接上代码:

//html
<button nz-button nzType="default" nzDanger style="margin: 5px;"
#toolTip="nzTooltip" nzTooltipTitle="测试" nz-tooltip 
(click)="testBtn()">测试用</button>

//ts
@ViewChild('toolTip',{static:false}) toolTip!:NzTooltipBaseDirective;

testBtn(){
    this.toolTip.hide();
}

要注意的点就是:html中绑定的对象需要为nzTooltip,注意大小写。tsstatic要么不写,要么为false,一旦写了true那就会报toolTip未定义的问题。

效果如下,红色的是配置了点击关闭的操作


多提一嘴,如果在angular使用ngfor批量生成的tooltip,如果按照上面写的@viewChild进行关闭操作的话,就只有第一个会触发关闭,这时候需要将代码改为
@ViewChildren('toolTip') toolTip!:QueryList<NzTooltipBaseDirective>
同时ts中修改按钮操作为
this.toolTip.forEach(item=>{item.hide()})

完。


munergs
30 声望8 粉丝

现在即是最好。