标签: extjs6

ExtJS 6:我应该使用配置对象吗?

我正在使用ExtJS 6构建应用程序.我已经阅读了指南,教程和最佳实践技巧.但我不明白的是,我为什么要使用配置对象?

配置:

Ext.define('MyProject.foo.Bar', {
    extends: 'Ext.window.Window',

    ...

    config: {
        title: 'My title'
    }
});
Run Code Online (Sandbox Code Playgroud)

没有配置:

Ext.define('MyProject.foo.Bar', {
    extends: 'Ext.window.Window',

    ...

    title: 'My title'
});
Run Code Online (Sandbox Code Playgroud)

两者都按预期工作.谁能告诉我差异和可能的好处?

javascript extjs extjs6

6
推荐指数
1
解决办法
1586
查看次数

物业网格中的ExtJs 6 Htmleditor

我想在PropertyGrid中使用HtmlEditor,我的框架版本是ExtJS 6.0.0.640.但是,我有这个问题......

当我使用Htmleditorpropertygrid进行冲突显示时.然而,我将框架版本改为4而不是问题.

例如,以下链接和更改框架版本为6.0.1.250.你第一次看到没问题.

但是,您对列进行排序,您将看到要显示的问题.

Htmleditor到propertygrid

我的代码:

Ext.define('Draw.view.mainmap.MainMap',{
   extend: 'Ext.panel.Panel',
   xtype: 'myGrid',
   layout: 'fit',
   width: 400,
   items: [{
      title: 'property grid',
      xtype: 'propertygrid',
      source: {
         "(name)": "My Object",
         "Available" : false,
         "Version" : 0.01,
         "Description" : "A test Object"
      },
      customEditors: {
         Description: {
            xtype: 'htmleditor',   
         }
      }
   }]
});
Run Code Online (Sandbox Code Playgroud)

javascript html-editor extjs6 extjs6-classic

6
推荐指数
0
解决办法
518
查看次数

如何在 ExtJS 中为树列表设置工具提示?

我正在开发一个 ExtJs 应用程序。我想使用树列表,如下所示:

{
    xtype: 'treelist',
    bind: '{navimgation}',
    ...
}
Run Code Online (Sandbox Code Playgroud)

navimgation的模型如下:

navimgation: {
    type: 'tree',
    root: {
        children: [{
            text: 'Node1',
            leaf: true,
            qtip: 'My qtip 1'
        },{
            text: 'Node2',
            leaf: true,
            qtip: 'My qtip 2'
        }
        ...
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在鼠标悬停在节点上时显示工具提示,但它不起作用。

javascript extjs tooltip treelist extjs6

5
推荐指数
1
解决办法
1480
查看次数

ExtJS 6 中 doLayout 的正确替代品是什么

所以在 ExtJS 6 中doLayout被删除了Ext.Container,我试图找出它的正确替代品是什么。或者根本没有必要调用一个方法来刷新布局?我正在使用,updateLayout但我不确定这是要走的路。

有任何想法吗?

extjs extjs6 extjs6-classic

5
推荐指数
1
解决办法
7653
查看次数

ExtJs 6存储Ext.app.Controller上的配置不起作用

我刚注意到Ext.app.Controller上的商店配置http://docs.sencha.com/extjs/6.0/6.0.2-classic/#!/api/Ext.app.Controller-cfg-stores没有查找正确的路径(与视图配置相同).

例如

Ext.define('MyApp.controller.Menu', {
    extend: 'Ext.app.Controller',
    stores: ['Menu']
...
});
Run Code Online (Sandbox Code Playgroud)

这将寻找

HTTP://localhost/myapp/app/controller/store/Menu.js _dc = 20160607211025

注意控制器文件夹

代替

HTTP://localhost/myapp/app/store/Menu.js _dc = 20160607211025

一开始我认为这是一个特定于我的一个项目的配置问题,但后来在另一个项目上得到了同样的东西.

我正在使用ExtJs 6.02

我知道我可以使用像MyApp.store.Menu这样的完整类名,但是getter会非常难看.(这是在我刚刚升级的庞大代码库上发生的,因此使用完整的类名称将是我的最后一个资源).

有人遇到过这个问题吗?

javascript extjs extjs6 extjs6-classic

5
推荐指数
1
解决办法
718
查看次数

如何在点击进入时选择组合值

如何在点击进入时选择组合值.

我正在使用组合框,使用鼠标点击并点击输入即可获得值.但是当我通过点击输入第一个值选择第二个值时消失.我在搜索中出现使用键盘和值.如何解决这个问题.

在我的小提琴手中,请通过单击输入选择两个值,通过单击第二个值来消除第一个值.

请帮我解决这个问题.MyFiddler.

注意:我不想使用tagfield.

javascript combobox extjs extjs6

5
推荐指数
1
解决办法
258
查看次数

Sencha extjs setValue string to numberfield

我需要使用numberfield作为用户输入号码.当我设置字符串'123,555'时,它只显示123到数字字段.但是,如果我使用textfield,它会按预期工作.我使用它进行千分离.

xtype: 'numberfield',
itemId: 'payment1',
cls : 'txtAlignRight',
flex : 4,
value:'0',
autoComplete: false,
autoCorrect: false,
clearIcon: false,
originalValue: true,
required: true,
maxLength: 15,

//------------------
num.setValue('123,555')
//result = 123
Run Code Online (Sandbox Code Playgroud)

有没有解决办法呢?提前致谢.注意:我使用现代的sencha extjs 6.

javascript string extjs extjs6 extjs6-modern

5
推荐指数
1
解决办法
493
查看次数

如何将Name1拖到名称6面板

如何从另一个面板拖动面板项?

例如:我想将Name1拖到名称6面板.当我尝试按shift + mousescrollkey时,它会松动拖动项目.

提前致谢 :)

小提琴:https: //fiddle.sencha.com/#fiddle/1hgf&view/editor

    Ext.application({
    name: 'Fiddle',

    launch: function() {
        Ext.define('myColumn', {
            extend: 'Ext.view.View',
            xtype: 'mycolumn',

            padding: 5,
            margin: 5,
            style: 'background-color: #f2f2f2;',

            itemSelector: 'div.nameselector',
            tpl: ['<tpl for=".">', '<div class="nameselector<tpl if="isTemp"> temp</tpl>">', '{name}', '</div>', '</tpl>'],

            listeners: {
                render: function(me) {
                    var tempRec = null;

                    // Create drag zone
                    this.dragZone = new Ext.dd.DragZone(me.getEl(), {
                        // On receipt of a mousedown event, see if it is within a DataView node.
                        // Return a drag data object …
Run Code Online (Sandbox Code Playgroud)

drag-and-drop extjs extjs6 extjs6-classic

5
推荐指数
1
解决办法
485
查看次数

路由Extjs更深入的导航

我正在 6.2.0 版本中编写 Extjs 应用程序,我\xe2\x80\x99ve 遇到了路由情况。\n我的问题是,当我们进入 NavigateDeep 时,如果我输入 Url,它会捕获,但它不会\xe2 \x80\x99t 渲染。\n我在主控制器上定义路由,如下所示:

\n\n
Ext.define(\'App.view.main.MainController\', {\n    extend: \'Ext.app.ViewController\',\n    alias: \'controller.main\',\n    listen : {\n        controller : {\n            \'*\' : {\n                unmatchedroute : \'onRouteChange1\',\n                changeroute: \'changeRoute\'\n            }\n        }\n    },\n\n    routes: {\n        \':node\': \'onNavigate\',\n        \':node/:id\' : \'onNavigateDeep\',\n        \':node/:id/:tabid\' : \'onNavigateDeepTab\'\n    },\n\n    lastView: null,\n    onRouteChange1: function(){\n        console.log("hier unmatched route");\n    },\n    setCurrentView: function(hashTag) {\n        hashTag = (hashTag || \'\').toLowerCase();\n        console.log("hash:" + hashTag);\n        var me = this,\n            refs = me.getReferences(),\n            mainCard = refs.mainCardPanel,\n            mainLayout = mainCard.getLayout(),\n            navigationList = …
Run Code Online (Sandbox Code Playgroud)

routes extjs extjs6

5
推荐指数
0
解决办法
3571
查看次数

无法使用JSON结果将数据呈现到网格列中

我有一个这样的网格存储。

var gridStore = Ext.create('Ext.data.Store',{
    proxy : {
        type : 'ajax',
        actionMethods : {
            read : 'POST'
        },
        url : 'getECIAgentWrapperJobs.do',
        reader : {
            type : 'json',
            rootProperty : 'rows',
            totalProperty : 'results'
        }
    },
    pageSize : 3,
    autoLoad : {start: 0, limit: 3}
});
Run Code Online (Sandbox Code Playgroud)

显然,它向URL发出AJAX请求。我为此商店得到的JSON响应如下所示:

{  
   "results":2,
   "rows":[  
      {  
         "pkTable1":1,
         "name":"Rick",
         "eciAgentJob":{  
            "pkTable2":11,
            "name":"Play Local Ar",
         },
      }
   ],
   "msg":null,
   "success":true,
}
Run Code Online (Sandbox Code Playgroud)

现在这是我的网格的外观:

var mappedEciAgentJobsGrids = Ext.create('Ext.grid.Panel',{
        store : gridStore,
        columns : [
            {
                dataIndex : 'pkTable1',
                header : …
Run Code Online (Sandbox Code Playgroud)

json extjs extjs4 extjs4.1 extjs6

5
推荐指数
1
解决办法
83
查看次数