Wex5 app 学习笔记(二)

本文介绍了Wex5 App中controlGroup组件如何为控件设置边距,以及如何利用label+组件创建布局。此外,详细讲解了windowDialog组件的使用,包括打开方式、参数传递、数据接收以及操作方法如open、send、saveData和deleteData等。还提到了Model组件的相关事件处理和数据绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

controlGroup 组件容器会自动给里面的控件设置边距 这样边框就不会紧贴着手机边框了。   。

左边显示标签 右边显示值 或者组件的 控件  可以使用label+组件的控件 例 如:labelselect组件

左边显示标签 右边显示下拉框。

打开页面有两种,一种是shell 一种是windowDialog组件  windowDialog组件可以把处理完数据的参数在带回来。

windowDialog 的src属性就是设置要打开的页面的路径。
打开页面的方式
用windowDialog.open()方法打开    
要获得组件或者是对象的JS对象的方法就是用this.comp(组件名或者对象名也就是xid)
例如:
this.comp("windowDialog1").open(); 技巧:输入this.comp(按alt+/)就会出现组件的名字.

open 可以传参数:

model.prototype.addBtnClick=function(event){
    this.comp("windowDialog1").open({
        
params:{
             operator : "new"
         }  //这个两个参数的写法  JSON参数键值两个参数的写法  
         
      });
   };
   
    return Model;
});

model组件里的onParamsReceive 是参数接收事件。
Model.prototype.modelParamsReceive=function(event){
var data =
this.comp("accountData");//获取data JS对象
data.clear //清空data数据
if (this.params.operator=="new"{
    data.newData({              
        "defaultValues" :[{
           "fID" : justep.UUID.createUUID(),
           "fCreateTime" : new Data()
          }]
       })
    }else{
       
data.loadData([this.params.rowdata]);//把当然行的数据装入data数据中。用toJson的参数需要加[].
        
data.first();设置数据的第一行为当前行。
     }
};
//跟上面的一样只要打newData alt+/上面的代码就会自动生成。
   return Model;
});

windowDialog组件有个mapping 属性可以返回数据。一一绑定映射的关系。

Model.prototype.OKBtnClick=function(event){
this.owner.send(this.comp("accountData")); //owner是主人的意思

this.close();//关闭当前窗口

//this.owner的意思就是我的主人的意思
因为是通过windowDialog调用到这个页面的所以 页面里没有windowDialog组件所以用 this.owner 就是我的主人是

windowDialog 也就等于windowDialog的JS对象。所以可以用他的send()方法。send()方法是返回数据。因为用

mapping属性绑定了映射关系,所以在返回的数据就是修改好的数据。

没有onclcik时可以用bind-click 效率没有前者好,不过效果差不多


Model.prototype.editacc=function(event){
    
var row=event.bindingContext.$object;//这行命令直接打listrow alt+/ 就能出来 表示取当前行数据。
        this.comp("windowDialog1").open({
       params  :{
        operator: "edit",
               
rowdata: row.toJson() //取出来的当前取是json对象 需要toJson.
           }
      
        });


};

windowDialog组件的onReceived属性是数据接收完成事件,包括mapping处理完成

Model.prototype.windowsDialog1Received=function(event){
    this.comp("accountData").
savaData();//savaData方法是保存数据库的数据。
};

Model.prototype.delBtnClick=function(event){
     var row=event.bindingContext.$object;
     this.comp("accountData").
deleteData(row);//deleteData是删除数据库的数据 row是当前行就是删
除当前行的意思。

 

简单的说就是除了可以用比如 onclick事件的代码写方 法也可以直接用onclick的操作界面来设置 最常用的是不需要参数的savadata 也就是保存数据。 

newdata 方法如果 没有时间就要把timedata行删除。只留UUID 就行。也就ID、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值