在Vaadin 14中,在查看Login
组件,特别是AbstractLogin.java
的源代码时,我注意到:
getElement.setProperty
将“操作”保存在登录小部件上。 AbstractLogin::setAction
的Javadoc说:“一旦定义了动作,就不再触发{@link AbstractLogin.LoginEvent}。” 我了解通过LoginEvent
向登录小部件进行注册,使我的对象成为AbstractLogin::addLoginListener
的侦听器。
但是这种“动作”似乎是替代事件侦听器的另一种工作方式。
有人可以告诉我有关动作的更多信息以及它们在Vaadin Flow中的工作方式吗?
我在Vaadin Docs上搜索了 action 一词,但没有找到任何内容。
答案 0 :(得分:1)
HTML API of the LoginForm指定以下内容
操作:字符串|空| undefined = null 通知
如果设置,将向定义的路径触发同步POST调用。的 还调度了登录事件,因此可以
event.preventDefault()
呼叫以阻止POST呼叫。
我了解,使用此选项,您可以配置登录表单以发布数据登录处理过程,例如外部验证服务。有用的用例是在将Vaadin与Spring安全性一起使用时,将其设置为“登录”。这种情况显示在Bakery App Starter中。