记账本(windowdialog)
Posted halo-漾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记账本(windowdialog)相关的知识,希望对你有一定的参考价值。
1.activity的跳转:通过在页面添加一个windowdialog对象,在src属性绑定打开的页面。通过windowdialog对象的open()方法执行打开操作。跳转到的子页面可以通过this.owner()来获取主页面的windowdialog对象,获取到对象后可以通过对象的send(data)方法来回传数据。
2.跳转时传参:可以通过winddowdialog对象的open()方法来打开跳转页面的同时传递参数。已达到在相同的跳转动作来实现不同的效果,比如新增与修改。
Model.prototype.addClick = function(event) { this.comp("windowDialog1").open({ params : { operator: ‘new‘ } }); }; Model.prototype.edit = function(event){ var row = event.bindingContext.$object; //这是一个模板代码,可以通过listrow + 提示键(alt + /)自动获取。 this.comp("windowDialog1").open({ params : { operator: ‘edit‘, rowData: row.toJson() } }); };
3. 跳转页面获取从主页面跳转动作中的参数以及新增时系统自动生成ID等属性。
Model.prototype.modelParamsReceive = function(event){ var data = this.comp("accountData"); data.clear(); if(this.params.operator == ‘new‘){ data.newData({ //这是一个模板代码,可以通过newdata+ 提示键(alt + /)自动获取。 "defaultValues" : [ { "fId" : justep.UUID.createUUID(), //注意字段是否与表的字段相同。 "fCreateTime" : new Date() } ] }) }else{ data.loadData([this.params.rowData]); //接收json数据 data.first(); } };
4.将修改添加的数据保存到数据库中,否则数据在浏览器的一次刷新便失效了。在windowdialog的onReceived事件中来实现保存操作意为在mapping完成后调用该事件。
Model.prototype.windowDialog1Received = function(event){ this.comp("accountData").saveData(); };
5.windowdialog的mapping设置。通过添加映射使主页面和弹出页面的数据的匹配对比。
以上是关于记账本(windowdialog)的主要内容,如果未能解决你的问题,请参考以下文章