我有一个需要一些电子表格数据的 UiApp 表单(检索缓慢)。我想要实现的是像往常一样加载视图,并在它显示后执行类似调用服务器处理程序的操作,该处理程序获取数据并在完成后更新我的视图。那可能吗?
我环顾四周,但什么也没找到。
据此, “函数doGet(e)是onLoad的GWT等价物”,但在我的情况下不是这样,因为我想显示页面,然后才做缓慢的部分......
我有一个需要一些电子表格数据的 UiApp 表单(检索缓慢)。我想要实现的是像往常一样加载视图,并在它显示后执行类似调用服务器处理程序的操作,该处理程序获取数据并在完成后更新我的视图。那可能吗?
我环顾四周,但什么也没找到。
据此, “函数doGet(e)是onLoad的GWT等价物”,但在我的情况下不是这样,因为我想显示页面,然后才做缓慢的部分......
偶然发现了这个,我们可以用它来实现一个伪 onLoad 事件。
setValue
复选框上的函数有一个可选参数来触发 valueChanged 处理程序。因此,您可以以编程方式触发 valueChanged 处理程序,该处理程序允许您在同时调用处理程序时返回应用程序(最初加载它)。
function doGet() {
var app = UiApp.createApplication();
var label = app.createLabel('Loading the data from the spreadsheet.')
.setId('statusLabel')
app.add(label);
var handler = app.createServerHandler('loadData');
var chk = app.createCheckBox('test').addValueChangeHandler(handler).setVisible(false).setValue(true,true).setId('chk');
app.add(chk);
return app;
}
function loadData(e) {
var app = UiApp.getActiveApplication();
Utilities.sleep(3000); //placeholder for some function that takes a long time.
var label = app.getElementById('statusLabel');
label.setText("Loaded the data from the spreadsheet");
return app;
}
其他几个小部件有setValue(value, fireEvents)
方法,例如。TextBox
等等。在实现这种技术时,小部件PasswordTextBox
似乎没有什么独特之处。CheckBox