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);
            }


你可能感兴趣的:(sencha 如何给tabpanel内的field传递值)