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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值