起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2311|回复: 8

[结贴] 将子页面的参数传递给父页面问题

[复制链接]

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
发表于 2017-3-28 09:49:05 | 显示全部楼层 |阅读模式
怎么将子页面的数据传递给父页面,不用windowDialog的mapping,用代码传参。
  1. //这是子页面传的参数</div><div>Model.prototype.OKButtonClick = function(event){
  2.           this.comp('windowReceiver').windowEnsure({
  3.                                         name: this.comp('inputName').val(),
  4.                                         parentCode : this.comp("input3").val(),
  5.                                         code : this.comp('departCodeInput').val(),
  6.                                         phone : this.comp('phoneInput').val(),
  7.                                         fax : this.comp('faxInput').val(),
  8.                                         address : this.comp('addressInput').val(),
  9.                                         remark : this.comp('remarkTextarea').val()
  10.                   });
  11.         };
复制代码
父页面怎么接收?不想用this.comp("组件名").val(event.data.参数名);这种方法,想把参数直接赋给data数据组件。

个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
发表于 2017-3-28 11:06:19 | 显示全部楼层
新版本已经不建议使用windowReceiver 组件了!
在对话框页面中,通过this.owner.send(data)方法,可以向父页面返回数据;此时会触发父页面中对应WindowDialog组件的onReceive和onReceived事件,我们可以在此事件中接收到对话框返回的数据。

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-3-28 11:24:17 | 显示全部楼层
对啊,我说得就是怎么在WindowDialog组件的onReceive和onReceived事件中接收对话框返回得数据,不用mapping的情况下
个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

发表于 2017-3-28 11:50:18 | 显示全部楼层
爱喝牛奶的面包 发表于 2017-3-28 11:24
对啊,我说得就是怎么在WindowDialog组件的onReceive和onReceived事件中接收对话框返回得数据,不用mapping ...

event.data 就是返回的数据!!然后将数据 赋值给父页面当前行的值!!
自己debugger调试吧!返回的数据是什么格式!以及怎样加到 父 data组件中!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-3-28 13:58:59 | 显示全部楼层
怎么把返回的数据加到父data组件中,有没有例子什么的啊真心不会啊
个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

发表于 2017-3-28 14:28:35 | 显示全部楼层
爱喝牛奶的面包 发表于 2017-3-28 13:58
怎么把返回的数据加到父data组件中,有没有例子什么的啊真心不会啊

/UI2/demo/page/interactive/page.w
js方法获取参数并打印
Model.prototype.dialogReceive = function(event){
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-3-29 10:21:16 | 显示全部楼层
本帖最后由 爱喝牛奶的面包 于 2017-3-29 10:28 编辑

那你看一下我这么写对吗?例子都是配置好mapping了,不知道这么写对不对。但是运行出来不好使,还不知道哪里出错了
  1. //向父页面传参;
  2.         Model.prototype.OKButtonClick = function(event){
  3.             this.owner.send({
  4.                     uid : this.comp("input1").val(),
  5.                     name: this.comp('inputName').val(),
  6.                                         parentCode : this.comp("input3").val(),
  7.                                         code : this.comp('departCodeInput').val(),
  8.                                         phone : this.comp('phoneInput').val(),
  9.                                         fax : this.comp('faxInput').val(),
  10.                                         address : this.comp('addressInput').val(),
  11.                                         remark : this.comp('remarkTextarea').val()
  12.             });
  13.             this.close();
  14.         };
复制代码
  1. //接收子页面的参数;
  2.         Model.prototype.Dialog_departReceive = function(event){
  3.           var departData = this.comp('departData');
  4.           var lastRow = this.comp('departData').getLastRow();
  5.           departData.saveData({
  6.                         defaultValues:[{
  7.                                 'uid' : event.data.uid,
  8.                                     'parentCode': event.data.parentCode,
  9.                                         'code': event.data.code,
  10.                                         'name' : event.data.name,
  11.                                         'phone' : event.data.phone,
  12.                                         'fax' : event.data.fax,
  13.                                         'address' : event.data.address,
  14.                                         'remark' : event.data.remark
  15.                         }]
  16.                   });
  17.                         
  18.         };
复制代码


个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

发表于 2017-3-29 11:15:07 | 显示全部楼层
爱喝牛奶的面包 发表于 2017-3-29 10:21
那你看一下我这么写对吗?例子都是配置好mapping了,不知道这么写对不对。但是运行出来不好使,还不知道哪 ...

不对!如果是给当前行赋值!!应该是departData.setValue('parentCode',event.data.parentCode)
这样进行赋值字段!!

departData.saveData( 是保存使用的!并不会修改值!!
如果是新增请使用newData方法!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-3-29 13:43:33 | 显示全部楼层
嗯呢,看来效果还是非常的明显,果然解决了问题,还是官方哥哥好,可以结帖了。又学到了不少东西
个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-26 15:09 , Processed in 0.063940 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表