Google App Maker onClick 事件 运行 异步
Google App Maker onClick event running asynchronously
我有一个 table 绑定到一个数据源,它是一个生产计划模型。我在每行上添加了一个按钮,单击该按钮可将生产计划项目发送到生产。请注意,我有两个布尔字段,指示该项目是在计划中还是已发送到生产中。连接到 table 的数据源具有此查询构建器表达式并且仅显示计划的生产线:planned = :true
我的按钮onClick事件代码如下:
widget.datasource.item.planned = false;
widget.datasource.item.inProduction = true;
app.datasources.productionPlan.load();
我想要实现的是我希望此按钮将项目发送到生产并重新加载数据源,以便不包括发送到生产的项目。但是,这些代码行 运行 是异步的,我认为数据源会在布尔值更改之前重新加载。有什么方法可以让客户端脚本在按钮 运行 的 onClick 事件中按特定顺序排列吗?
最可靠的处理方法是对 productionPlan
数据源使用 Manual Save mode:
var ds = widget.datasource;
ds.item.planned = false;
ds.item.inProduction = true;
ds.saveChanges({
success: function() {
app.datasources.productionPlan.load();
},
failure: function(error) {
// todo
}
});
您也可以考虑立即隐藏该行以使应用感觉更快:
widget.parent.visible = false;
我有一个 table 绑定到一个数据源,它是一个生产计划模型。我在每行上添加了一个按钮,单击该按钮可将生产计划项目发送到生产。请注意,我有两个布尔字段,指示该项目是在计划中还是已发送到生产中。连接到 table 的数据源具有此查询构建器表达式并且仅显示计划的生产线:planned = :true
我的按钮onClick事件代码如下:
widget.datasource.item.planned = false;
widget.datasource.item.inProduction = true;
app.datasources.productionPlan.load();
我想要实现的是我希望此按钮将项目发送到生产并重新加载数据源,以便不包括发送到生产的项目。但是,这些代码行 运行 是异步的,我认为数据源会在布尔值更改之前重新加载。有什么方法可以让客户端脚本在按钮 运行 的 onClick 事件中按特定顺序排列吗?
最可靠的处理方法是对 productionPlan
数据源使用 Manual Save mode:
var ds = widget.datasource;
ds.item.planned = false;
ds.item.inProduction = true;
ds.saveChanges({
success: function() {
app.datasources.productionPlan.load();
},
failure: function(error) {
// todo
}
});
您也可以考虑立即隐藏该行以使应用感觉更快:
widget.parent.visible = false;