Javascript ExtJs 4-Window.show()-窗口大小非常小
我开始学习ExtJS4,在网格上双击事件时显示模式窗口时遇到了一个问题 在网格组件上定义的侦听器:Javascript ExtJs 4-Window.show()-窗口大小非常小,javascript,extjs,Javascript,Extjs,我开始学习ExtJS4,在网格上双击事件时显示模式窗口时遇到了一个问题 在网格组件上定义的侦听器: "listeners": { "itemdblclick": function() { var win =Ext.getCmp('myCmp'); win.myWindow.show(); } } 以前定义的myCmp属性是窗口组件: (我使用了父容器对象myCmp作为生成javascript的代码来构建ExtJs配置) 逻辑运行良好,我双击网
"listeners": {
"itemdblclick": function() {
var win =Ext.getCmp('myCmp');
win.myWindow.show();
}
}
以前定义的myCmp属性是窗口组件:
(我使用了父容器对象myCmp作为生成javascript的代码来构建ExtJs配置)
逻辑运行良好,我双击网格,窗口对象出现(myCmp.myWindow),但当我调用show()时,窗口显示得非常小(6px x 6px)
如果我将处理程序更改为:
Ext.create('Ext.window.Window',{
"layout": "fit",
"items": [
....
],
"title": "Hello Window",
"width": "300",
"height": "300",
"id": "myWindow"
}).show();
它工作正常。显然,这是在创建一个新的窗口实例
有什么想法吗?我这样做对吗
提前谢谢
sam当您可以直接引用窗口时,为什么要引用“myCmp”
var win = Ext.getCmp('myWindow');
win.show();
这应该行得通。另外,为什么要在别处实例化一个窗口,然后使用它呢?在需要时创建一个实例并在使用后销毁不是更好吗
此外,还应正确配置窗口。宽度和高度是数字字段,而不是字符串。请参阅api文档和示例,了解如何正确配置对象。您应该使用以下窗口:
Ext.create('Ext.window.Window',{
layout: 'fit',
items: [
....
],
title: 'Hello Window',
width: 300,
height: 300,
id: 'myWindow'
}).show();
是的,不错。高度和宽度的字符串是打字错误,真正的实现使用INT。您回复中的第一个方法的结果完全相同,但您的意思是,您应该在每次使用窗口时创建并销毁它?我看过一些ExtJs示例,它们将窗口对象保存在一个var中并重用它,这就是为什么我认为这是最佳实践。你知道吗,Abdel,它们是字符串,这是我正在查看的另一个对象。抱歉,还有好地方。谢谢。销毁和重新创建取决于您的应用程序。。你多久使用一次窗户?等为了降低复杂性,我修改了显示窗口的代码。打字错误应该已经纠正了你的错误。
Ext.create('Ext.window.Window',{
layout: 'fit',
items: [
....
],
title: 'Hello Window',
width: 300,
height: 300,
id: 'myWindow'
}).show();