Google App Maker onClick事件以异步方式运行

时间:2018-06-15 14:47:46

标签: google-app-maker

我有一个绑定到数据源的表,这是一个生产计划模型。我在每一行上添加了一个按钮,用于在单击时将生产计划项目发送到生产中。请注意,我有两个布尔字段,指示项目是在计划中还是发送到生产。连接到表的数据源具有此查询构建器表达式,仅显示计划的生产线:String[] lines; String[] find; int ifind=0; boolean found =false; lines = loadStrings("http://localhost:5000/get.js?id=5858&drop=FEUP"); for (int i = 0; i < lines.length; i++) { find=match(lines[i], "console.log"); if (find!=null) { println("Found it."); found=true; ifind=i; i=lines.length; println(lines[ifind]); }else{ println(" not Found it."); } } if (found==true) { //println(newev); }

我的按钮onClick事件代码如下:

planned = :true

我想要实现的是我希望此按钮将项目发送到生产和重新加载数据源,以便不包括发送到生产的项目。但是,这些代码行是异步运行的,我认为数据源会在布尔更改之前重新加载。有没有办法在按钮的onClick事件上按特定顺序运行客户端脚本行?

1 个答案:

答案 0 :(得分:0)

处理它的最可靠方法是使用Manual Save mode 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;