记账本(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)的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio--家庭记账本

记账本开发

Java的家庭记账本程序(J)

安卓开发Android平台的记账本app(全部代码+room框架操作数据库+设计报告)

记账本开发记录——第四天(2020.1.21)

微信小程序--家庭记账本开发--02