Vaadin 锚点 - 捕捉默认点击事件

时间:2021-07-26 06:56:01

标签: java vaadin anchor downloadfile vaadin14

我是 Vaadin 框架的新手,我想知道是否有办法捕获 Anchor 的默认点击事件? (Vaadin14,仅限 Java - v11)

我知道我可以做到:

Anchor download = new Anchor()
download.getElement().addEventListener("click", event -> doStuff())

但它似乎不是内置的默认点击侦听器,因为我可以添加带有 StreamResource 的锚点。 然后,单击锚点开始下载文件 - 无需添加任何其他侦听器。

我相信回答这些问题中的任何一个都会解决我的问题:

  • 有没有办法捕捉这个锚点点击事件?
  • 有没有办法像 Button click() 方法那样在代码中以编程方式触发它?
  • 如果它是一个@DomEvent,这是什么类型的@DomEvent?

1 个答案:

答案 0 :(得分:5)

您实际上是将锚点用作链接还是按钮?如果是后者,您可以只使用 Button 并将其样式设置为链接。


回答您的问题:

  1. 你的方式,object().shape({ catalog: { brand: string().required() } }).strict();
  2. addEventListener("click", e -> (the same as clickInClient)
  3. 我认为这对你来说并不重要。您只需对事件做出反应,如果您需要一些数据,您可以use addEventData()

您也可以尝试子类化 download.getElement().callFunction("click") 实现 ClickNotifier mixin interface,这将为您提供 Anchor 方法,然后您也可以手动触发此 addClickListener(),就像完成的那样在button's click()

ClickEvent