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()函数,救星
实现代码如下www.zzzyk.com
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);
}
补充:综合编程 , 其他综合 ,