gpt4 book ai didi

javascript - 错误: Cannot call method 'createChild' of undefined

转载 作者:行者123 更新时间:2023-11-28 09:30:55 24 4
gpt4 key购买 nike

我编写了这样定义的 ExtJS4 类:

    Ext.define('Ext.ux.PictureBox', {
extend: 'Ext.panel.Panel',
alias: 'widget.picturebox',
url: "",

afterRender: function () {
this.callParent();
this.imageEl = Ext.DomHelper.append(this.body, Ext.String.format("<img style='width:{0}px;height:{1}px' src='{2}' />", this.width, this.height, this.url), true);

this.items.items[0].addCls('browse-picture-button');
this.items.items[1].addCls('remove-picture-button');

},

initComponent: function() {

var conf = {
items:[
{
itemid: 'browseBtn',
xtype: 'fileuploadfield',
name: 'photo',
buttonText: '...',
buttonOnly: true,
text: '...',
width: 30,
height: 20
},

{
itemid: 'removeBtn',
xtype: 'button',
text: 'X',
width: 30,
height: 20
}
]
};

Ext.apply(this, Ext.apply(this.initialConfig, conf));
this.callParent(arguments);
},

setSize: function (w, h) {
this.callParent();
if (this.imageEl) {
this.imageEl.setSize(w, h);
}
},
setUrl: function (url) {
this.url = url;
if (this.rendered) {
this.imageEl.dom.src = url;
}
}
});

然后,我创建这个类:

Ext.create('Ext.ux.PictureBox', {   
    width: 300,
    height: 300,    
    url: 'http://blogs-images.forbes.com/daviddisalvo/files/2012/01/googlelogo2.jpg',
    renderTo: Ext.getBody()
});​

并且脚本抛出错误无法调用未定义的方法“createChild”。为什么?

如果我使用“按钮”而不是“文件上传字段”,一切正常;

Yuo 可以在此处查看并运行此示例 http://jsfiddle.net/C3HEu/12/

最佳答案

您需要所有 Ext 代码在 Ext.onReady() 内运行。 http://jsfiddle.net/C3HEu/22/

或者,让 Ext 在浏览器的 onDomReady 事件中运行,而不是在 onLoad 中运行。 http://jsfiddle.net/C3HEu/24/

关于javascript - 错误: Cannot call method 'createChild' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13742413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com