How to set Vaadin 8 LoadingIndicatorConfiguration in a button click(如何在按钮点击中设置Vaadin 8 LoadingIndicator配置)
问题描述
我正在使用Vaadin 8,而LoadingIndicator给我带来了一些问题。在90%的时间内,我需要相应地设置它:
- 第一个延迟==300ms
- 第二个延迟==600ms
- 第三延迟==
Integer.MAX
编辑:目前,我想出的可行的(不是最好的)解决方案是创建一个模仿v-loading-indicator的CSS类,并创建一个在body元素的开头添加div元素的JavaScript方法,然后将这个CSS类添加到div元素。然后,当创建按钮时,我对这个div执行addEventListener(再次使用JS-这很关键),并添加方法以显示加载指示器。
推荐答案
通常只有在请求完全处理后才会更新浏览器中的UI。因此,设置按钮被点击前的延迟是有效的,但在点击之后完成时不起作用。要更改这一点,您需要启用推送以立即更新用户界面。尝试使用和不使用推送的以下代码,您应该会看到加载指示器行为的不同。
@Push
public class DemoUI extends UI {
protected void init(VaadinRequest vaadinRequest) {
VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
Button loadingButton = new Button();
loadingButton.addClickListener(e -> {
getLoadingIndicatorConfiguration().setFirstDelay(0);
getLoadingIndicatorConfiguration().setSecondDelay(1000);
getLoadingIndicatorConfiguration().setThirdDelay(2500);
try {
Thread.sleep(5000);
} catch (InterruptedException e1) {
});
layout.addComponent(button);
setContent(layout);
}
}
@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = DemoUI.class)
public static class Servlet extends VaadinServlet {
}
这篇关于如何在按钮点击中设置Vaadin 8 LoadingIndicator配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在按钮点击中设置Vaadin 8 LoadingIndicator配置
基础教程推荐
- 从快速中间件中排除路由 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- HTML5 画布调整为父级 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
