google-app-maker - Google App Maker onClick 事件异步运行
问题描述
我有一个绑定到作为生产计划模型的数据源的表。我在每一行添加了一个按钮,单击该按钮将生产计划项目发送到生产。请注意,我有两个布尔字段,指示该项目是在计划中还是已发送到生产中。连接到表的数据源具有此查询构建器表达式,并且仅显示计划的生产线:planned = :true
我的按钮 onClick 事件代码如下:
widget.datasource.item.planned = false;
widget.datasource.item.inProduction = true;
app.datasources.productionPlan.load();
我想要实现的是我希望这个按钮将项目发送到生产并重新加载数据源,以便不包括发送到生产的项目。但是,这些代码行是异步运行的,我认为数据源会在布尔值更改之前重新加载。有什么方法可以使按钮的 onClick 事件上的客户端脚本行按特定顺序运行?
解决方案
处理它的最可靠方法是对数据源使用手动保存模式:productionPlan
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;
推荐阅读
- pentaho-report-designer - 如何在 pentaho 报表设计器中删除空行?
- python - 获取具有对象或分类数据类型的列名列表
- c++ - 为什么成对的注释不能放在 C++ 中的字符串中?
- php - Laravel Nested Eager Loading 如何使用 eloquent where 条件从内部与嵌套
- java - 我们如何在运行时编译和调试用 Java 编写的代码?
- convolution - Halide:如何显式调度匿名归约函数,如 sum?
- ios - 带有 BT.709 矩阵的 H.264 编码视频是否包含任何伽玛调整?
- python - sklearn“RidgeClassifier”有什么作用?
- javascript - 在 CBC 模式下使用 aes-js 库解密时出现不支持的类数组对象错误
- javascript - 如何从传递参数的回调中返回值