我有一个搜索功能,它需要大约 10 秒来运行数据库。有没有办法在 dojo 中显示搜索状态,以便用户知道搜索实际上正在执行?
澄清
在显示结果的窗口中寻找显示带有百分比的进度条、旋转圆圈或只是简单的搜索...的内容,以便用户知道他们的按钮单击实际上触发了搜索,然后搜索完成并填充窗口时消失。
我有一个搜索功能,它需要大约 10 秒来运行数据库。有没有办法在 dojo 中显示搜索状态,以便用户知道搜索实际上正在执行?
澄清
在显示结果的窗口中寻找显示带有百分比的进度条、旋转圆圈或只是简单的搜索...的内容,以便用户知道他们的按钮单击实际上触发了搜索,然后搜索完成并填充窗口时消失。
顺便说一句,您需要提供有关您实际想要实现的目标的更多信息。
话虽如此,我猜测您可能想要使用 Standby 小部件来清空页面。
在执行搜索之前,您可以显示备用小部件。
例如:
<div data-dojo-props="target: dojo.byId("someTargetNode")" data-dojo-type="dojox/widget/Standby" id="standby" ></div>
然后,您可以通过调用 show(); 显示 Standby 小部件,该小部件将使用加载器覆盖您的目标 domNode;显然,当您收到回复时,您也必须手动调用 hide。
dijit.byId("standby").show();
dojox/widget/Standby演示(请耐心等待页面加载。演示是 Dojo 的未构建版本,因此可能需要几秒钟);
您可以使用的第二个解决方案是 Toaster 小部件,它会从页面中弹出以显示您正在加载某些内容。
在我的应用程序中,我使用自定义样式的烤面包机来实现加载。
使用备用小部件的示例
这是待机的快速屏幕截图
使用烤面包机的示例
这是烤面包机的快速截图