读书人

sencha 怎么给tabpanel内的field传递值

发布时间: 2013-03-13 10:56:58 作者: rapoo

sencha 如何给tabpanel内的field传递值

用tabpanel的童鞋可能发现 用setrecord()后tabpanel里面的textfield无法有值,而非tabpanel的结构却没问题

tabpanel->panel->textfield 这种架构死活读不出来值


尝试了好几种方法

包括

1. 重构applyItems方法,不成功

applyItems:function (items, collection) {
var i = 0,
iNum = items.length,
record = this.getRecord(),
data = this.getData();
for (; i < iNum; i++) {
items[i].data = data;
}
return this.callParent([items, collection]);
}


2. 读取所有items然后自己setData() setRecord()

不成功

3. 得到所有二级panel,然后setData() setRecord() 也不成功


哥们弄了一晚上

最后想到了

4 , 直接读取所有fields然后赋值

开始居然自己写了一个递归函数来getItems()所有的值,不成功

后来发现有query()函数,救星

实现代码如下

var reqFields = this.query('field[xtype=textfield]');
console.dir(reqFields);
var i = 0, ln = reqFields.length,field;
for (; i < ln; i++) {
field = record.get( reqFields[i].getItemId());
reqFields[i].setValue(field);
}


读书人网 >移动开发

热点推荐