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

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: zhw19105426

[结贴] 关于动态生成data组件的疑问

  [复制链接]
发表于 2016-1-26 10:13:31 | 显示全部楼层
zhw19105426 发表于 2016-1-25 17:29
整理了下list和data组件的绑定关系,请问版主,是否满足以下规律,如果不是,请帮忙指正下小弟。
1. 动态 ...

动态生成的list组件和动态生成的data组件
要先动态生成data组件,后生成list组件,然后才能正常绑定!

请问你第二种方式的代码是怎样写的?可以发来看看!
如果第二种能成功,第一种,原理上是没问题的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2016-1-26 10:21:45 | 显示全部楼层
liangyongfei 发表于 2016-1-26 10:13
动态生成的list组件和动态生成的data组件
要先动态生成data组件,后生成list组件,然后才能正常绑定!

通过试验,可以通过以下方法实现动态list组件和动态data组件的绑定,稍后我附上上续的代码。
1. 动态生成data组件,可以根据需要添加组件数据,也可以通过ajax请求为data组件赋值
this.myNewData = new Data(this, {
                        xid: "myNewData",
                        defCols: {
                                id: {
                                        type: "Integer",
                                        label: "标识"
                                },
                                name: {
                                        type: "String",
                                        label: "名称"
                                }
                        },
                        idColumn: "MYNEWDATA"
                });
                this.myNewData.add({id: 123, name: "张三"});
                this.myNewData.add({id: 456, name: "李四"});
2. 为Model提供获取组件数据的方法
Model.prototype.getMyNewData = function() {
            var data = this.comp('myNewData');
            var ret = [];
            data.each(function(param){
              var row = param.row;
              ret.push(row);
            });
            return ret;
        };
3. 动态生成list组件,在data项中赋值getMyNewData 方法(注意:此处不能赋值data组件的xid(myNewData),运行会报错)
new List({
                    xid: 'list123',
                    autoLoad: true,
                    data: 'getMyNewData',
                    template: '<div class="x-list-template"><div data-bind="{text:ref(\'name\')}"></div></div>',
                    parentNode: this.getElementByXid('content2')
                });
回复 支持 反对

使用道具 举报

1

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2016-1-26 10:39:43 | 显示全部楼层
liangyongfei 发表于 2016-1-26 10:13
动态生成的list组件和动态生成的data组件
要先动态生成data组件,后生成list组件,然后才能正常绑定!

这个是data组件和list组件的绑定的两种情况:
1. 动态list和动态data绑定成功
2. 静态list和动态data绑定成功

在附件1中,如果动态list的data属性不用方法,而用data组件的xid,点击按钮会提示错误

data和list数据绑定测试.zip

3.27 KB, 下载次数: 255

回复 支持 反对

使用道具 举报

11

主题

44

帖子

119

积分

初级会员

Rank: 2

积分
119
QQ
发表于 2016-1-26 10:52:03 | 显示全部楼层
本帖最后由 leochinacn 于 2016-1-26 10:55 编辑

动态生成的DATA是不是要加到MODEL下才行?justep.Bind.addNode(warp,li),li是动态生成的,它下面还绑了一个动态生成的input,如果没这面的那句,input好象绑了事件不会生效,群里有人和我说,要触发x组件初始化,不知是不是这样?
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2016-1-26 10:57:06 | 显示全部楼层
idColumn: "MYNEWDATA"
这里错了;
idColumn: "id"

你的data上就没有定义MYNEWDATA这样的列
回复 支持 反对

使用道具 举报

1

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2016-1-26 11:01:28 | 显示全部楼层
XiaoQLuo 发表于 2016-1-26 10:57
idColumn: "MYNEWDATA"
这里错了;
idColumn: "id"

非常感谢大神,确实是这个问题导致的,现在动态data和动态list的绑定都正常啦,再次感谢各位大神的帮助,小弟谢过啦,版主,可以结贴啦
回复 支持 反对

使用道具 举报

7

主题

30

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
发表于 2016-3-31 13:27:46 | 显示全部楼层
认真学习了,很有用。
回复 支持 反对

使用道具 举报

6

主题

21

帖子

49

积分

新手上路

Rank: 1

积分
49
QQ
发表于 2016-7-20 15:09:31 | 显示全部楼层
终于遇到了一篇有持术含量并且免费了贴子,万分感谢。
回复 支持 反对

使用道具 举报

1

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
QQ
发表于 2018-3-14 16:12:01 | 显示全部楼层
liangyongfei 发表于 2016-1-25 11:45
list组件可以动态生成,请参考:http://doc.wex5.com/?p=7598#005
原理上data组件也可以动态生成,只不过现 ...

已经定义好data组件,如何动态绑定到list上呢
回复 支持 反对

使用道具 举报

9

主题

57

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
QQ
发表于 2018-6-13 23:00:21 | 显示全部楼层
这个贴子不错,给楼主点赞!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 13:22 , Processed in 0.061813 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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