【发布时间】:2021-04-17 01:42:03
【问题描述】:
我正在编辑一个大型 vaadin Web 应用程序的一个上传页面,该页面的要求基本上是上传文件并保存其内容。当它是一个小文件时,没有 UX 问题,但对于有 1M 行(当前生产平均值)的大文件,UX 体验非常糟糕,至少没有任何文本,例如“处理中......请稍候”。刚刚在“保存按钮”中使用了Button.setDisabledOnClick,但这还不够。用户将不知道发生了什么,是否有任何错误,是否应该取消等等。
这是方法代码sn-p(方法saveFile的相关部分):-
progressmsg.setVisible(true); // progressmsg is a label, initially setVisible(false)
boolean msisdnInserted = rows.saveContent(); // inserts rows in batch in DB
这不是以不恰当的方式调用的:-
btnSave.addListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
saveFile();
}
});
问题是 progressmsg.setVisible(true) 在 rows.saveContent() 之后反映在浏览器上,它会在大文件中插入 1M 行。
无论我做什么,我都无法在插入开始之前让标签可见。 我什至尝试添加一个带有 msg 的 50x50 小窗口,但行为相同,窗口在处理后出现。 谷歌搜索后无法弄清楚这一点。欢迎任何概念/建议。谢谢!
【问题讨论】:
标签: vaadin