标签: extjs4

私有函数和变量ExtJs4?

在我目前的项目中,我使用的是ExtJs3.3.
我创建了许多具有私有变量和函数的类.例如:

MyPanel = function(config){
  config = config || {};

  var bar = 'bar';//private variable

  function getBar(){//public function
     return bar;
  }

  function foo(){
     //private function
  }

Ext.apply(config, {
  title: 'Panel',
  layout: 'border',
  id: 'myPanel',
  closable: 'true',
  items: []
});

  MyPanel.superclass.constructor.call(this, config);
};
Ext.extend(MyPanel , Ext.Panel, {
  bar: getBar
});
Ext.reg('MyPanel', MyPanel);
Run Code Online (Sandbox Code Playgroud)

我知道在ExtJs4中做事的新方法是使用该Ext.define方法.因此,我上面的代码看起来像这样:

Ext.define('MyPanel', {
  extend: 'Ext.panel.Panel',

  title: 'Panel',
  layout: 'border',
  closable: true,

  constructor: function(config) {

     this.callParent(arguments);
  },

});
Run Code Online (Sandbox Code Playgroud)

所以我想知道的是如何在ExtJs4中定义私有变量和函数,类似于我在ExtJs3中的方式?
换句话说,我理解该Ext.define方法将负责定义,扩展和注册我的新类,但是我应该在哪里声明javascript var,它们不是类本身的属性,而是类所需要的.

MyPanel = function(config){
  //In …
Run Code Online (Sandbox Code Playgroud)

javascript extjs private-members extjs4

11
推荐指数
3
解决办法
1万
查看次数

如何在ExtJs中获取网格面板的选定行?

我想获取所选行的姓氏字段.这个根本不起作用:

users.getSelectionModel()getSelections();

extjs extjs4

11
推荐指数
1
解决办法
3万
查看次数

ExtJS 4:如何知道表单中的任何字段(Ext.form.Panel)何时发生变化?

我想要一个单独的事件监听器,只要表单中的任何字段(即Ext.form.Panel)发生变化就会触发.但是,Ext.form.Panel类不会为此本身触发事件.

在表单中监听所有字段的"更改"事件的最佳方法是什么?

extjs extjs4

11
推荐指数
2
解决办法
3万
查看次数

如何在ExtJS 4中执行控制器继承?

我正在寻找一个相当复杂的应用程序,它涉及到几个"基础"项(基本形式,基础网格等),其他项目将继承以便遵循DRY.这些基本项将具有所有继承项将触发的公共事件.既然如此,我需要某种基本控制器来监听这些项目事件.

设置控制器以便轻松继承/扩展的基本方法是什么?

inheritance extjs extjs4

11
推荐指数
1
解决办法
4316
查看次数

使用ExtJS完全加载网格后的进程

我正在使用ExtJS将数据加载到网格中,并且我想在数据完全放入网格后添加一些额外的进程.

我的上下文是,在将数据放入网格后,我将检查所有行,并根据指定的条件将其中一些标记为禁用,并将工具提示放入行(解释为何禁用它).我试图使用2个事件:Grid的'afterrender'和网格存储的'加载',但它们不起作用.

因为grid's 'afterrender'在第一次网格初始化时被触发,不关心数据加载.store's 'load'当数据被预取到存储(不在屏幕上呈现)时被触发,所以我无法将该行<div>设置为禁用.

那么,什么是检测何时在网格上完全加载和渲染数据的事件?我该如何实现这个要求?

gridview extjs event-handling extjs4

11
推荐指数
3
解决办法
3万
查看次数

使用小按钮ExtJs TextField

如何在文本字段中创建带图标的小按钮,就像使用datefield一样?在之前版本的ExtJS中有一个CompositeField但是无法在ExtJS 4中找到它.

extjs extjs4

11
推荐指数
2
解决办法
1万
查看次数

Extjs 4.2:如何在Ext.Ajax.Request POST中正确发送参数

我必须从我的ExtJs脚本中执行POST才能从我的数据库中删除一些内容:

Ext.Ajax.request({
    url: 'deleteRole.html',
    method: 'POST',          
    headers: {'Content-Type': 'text/html'},
    waitTitle: 'Connecting',
    waitMsg: 'Sending data...',                                     
    params: {
        "rolename" : rolename
    },
    scope:this,
    success: received,                                    
    failure: function(){console.log('failure');}
});
Run Code Online (Sandbox Code Playgroud)

当发送帖子时,我可以在firebug中看到字体中的rolename,但不能作为参数.我想向您展示相对于用户注册的另一篇文章(由spring:form制作).如果我检查帖子,我可以看到以下内容:

图片http://s2.subirimagenes.com/otros/previo/thump_8498731post.jpg

我可以使用@RequestParam在我的控制器中获取参数.

但在帖子中我有问题我看不到参数部分,我只能看到字体(Fuente)部分:

image2 http://s2.subirimagenes.com/otros/previo/thump_8498737delete.jpg

因此,我的弹簧控制器没有检测到任何参数.我的POST是不是有问题?

谢谢

ajax extjs extjs4 extjs4.2

11
推荐指数
3
解决办法
6万
查看次数

增加ExtJs中的Ajax请求超时

ExtJs库中是否有一个配置可以增加Ajax请求超时?

我尝试过两种配置,但都没有帮助:

Ext.override(Ext.data.Connection, {
    timeout: 60000
});

Ext.Ajax.timeout = 60000;
Run Code Online (Sandbox Code Playgroud)

ajax timeout extjs4

11
推荐指数
2
解决办法
2万
查看次数

Extjs:强制组件重新渲染

我在ExtJs中有一个自定义组件,它是一个表单字段(GridField).它将网格显示为表单字段并按预期工作.观察结果如下:

  1. 单独呈现表单时(例如,在窗口或卡片布局中的第一个面板中,一切都显示正常)

  2. 如果表单不是卡片布局中的第一个面板,或者在第一次呈现时隐藏,则显示字段名称并保留所需的空间但控件不显示.

我做了一些检查,发现实际渲染了自定义组件,但所有html元素(div等)的宽度都是0.它们都有样式(宽度:0).我的猜测是因为表单面板在渲染完成时不可见.

在控制的实施方面,我正在扩展Ext.form.field.Base.在initComponent,我只是调用this.on('afterrender', this.initControl)渲染后运行附加控件的自定义代码.这里input隐藏了字段,网格呈现在它应该的位置.

我的问题是1.如何强制控件重新渲染,使宽度不再为0?2.如果当前实现错误,使用网格或其他ext组件作为表单字段的正确方法是什么?

javascript extjs extjs4 extjs4.2

11
推荐指数
1
解决办法
1万
查看次数

为什么在initComponent中使用Ext.apply

initComponent方法中为组件设置属性时,许多代码示例都使用Ext.apply.

示例:

    initComponent: function(){
        Ext.apply(this, {
            items: {
                xtype: 'button'
            }
    })},
Run Code Online (Sandbox Code Playgroud)

我的问题是,与这样做相比,这样做有什么不同:

    initComponent: function(){
        this.items = {
            xtype: 'button'
        }
    }
Run Code Online (Sandbox Code Playgroud)

对我来说,它似乎更具可读性.但是我错过了从Ext.apply获得的东西吗?

extjs extjs4

11
推荐指数
2
解决办法
7341
查看次数