我需要在页面上显示工具提示,相对于某些元素,而无需用户单击以显示它们-即。自动显示它们。ion-popover
似乎是最好的方法,但是,根据documentation:
为了相对于被点击的元素定位弹出框,需要将点击事件传递到当前方法的选项中。如果事件未通过,弹出框将位于视口的中心。
我不确定Ionic是否提供了一个没有点击事件的相对定位弹出框的场景(文档没有提到它)。我也不想触发一个点击事件,因为一些元素有routerLink
s,触发点击事件会导航离开当前页面。使用CSS将弹出框从页面的默认中心移动,对我来说似乎是一个肮脏的解决方案
3条答案
按热度按时间camsedfj1#
如果Ionic将“none”实现为triggerAction属性的值,这将是很好的,表明当触发器元素被单击(或悬停或其他任何操作)时,弹出框不应该打开。
我的解决方案是将一个空div放在我希望弹出框出现的元素中,并将该空div设置为触发器元素(而不是实际的按钮或其他)。将此div留空,使其大小为0px × 0px,因此永远不会被单击。
jdg4fx2g2#
这对你合适吗?
aelbi1ox3#
得到了同样的请求,我想在我的Ionic页面上的按钮元素上方添加弹出框,以解释按钮在第一次打开应用程序时的作用。
因此,在我的button元素中,我创建了一个空的div,它有一个id和一个click事件,如下所示:
然后我使用viewChild来获取我首先在文档顶部导入的元素ref:
在构造函数之前,我将元素放入变量btnPlusTutorial中
在函数内部,我以编程方式单击元素
因此,它使用还必须导入的popoverController调用函数showPopover()