|
楼主 |
发表于 2016-1-26 10:21:45
|
显示全部楼层
通过试验,可以通过以下方法实现动态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')
}); |
|