标签: extjs6

打开包含ExtJS网格的浏览器弹出窗口的最佳方法

在我们的ExtJS应用程序中,我们有一些菜单和选项卡面板.单击menuItem打开一个网格.

我们要求用户可以在以下两种模式中的任何一种模式下打开包含网格的显示:

  1. 内联 - 网格将作为标签项打开tabpanel.
  2. 弹出窗口 - 打开一个新的浏览器窗口window.open,首先加载整个ExtJS库,然后加载网格.弹出窗口作为浏览器窗口是为了方便多个监视器.

所以这里的问题是每当我们打开一个弹出窗口时,需要ExtJS库并且它在IE中占用了大量内存.

有没有其他方法我们可以加载ExtJS网格的浏览器窗口弹出窗口而不加载整个ExtJS框架?

或者任何其他想法都是最受欢迎的,因为我们在IE中确实面临很多内存问题而且用户不愿意使用chrome.

提前致谢.

javascript extjs internet-explorer-11 extjs6

21
推荐指数
1
解决办法
2205
查看次数

究竟是什么延迟呢?

我放置scrollIntoView()使我的网格滚动可见.当我在gridContainer中添加新网格时,我使用此方法.这工作我可以从调试器检查.我的scrollIntoView()

grid.body.dom.scrollIntoView();
Run Code Online (Sandbox Code Playgroud)

但是一旦达到推迟功能就无法scrollIntoView() 运作.任何人都可以建议如何跳过这个.什么延迟做什么以及如何跳过这个.我也在使用grid.focus(),同样的事情正在发生.网格即将进入视图但从调试器出来后没有显示到视图中.

defer: function(fn, millis, scope, args, appendArgs) {
  fn = Ext.Function.bind(fn, scope, args, appendArgs);
  if (millis > 0) {
    return setTimeout(function() {
      if (Ext.elevateFunction) {
        Ext.elevateFunction(fn);
      } else {
        fn();
      }
    }, millis);
  }
  fn();
  return 0;
},
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs6

16
推荐指数
1
解决办法
354
查看次数

如何在某些条件下自动对焦标记域

我有一个标记字段,我在其中加载一些值并发送到服务器.我想要的是再次重新加载那个标记字段组件时,应该自动选择这些值.当前它们不是自动选择的,但是如果我将焦点放在标记字段上,那么这些值将按选定的方式进行.

什么是自动关注某些条件的方法.不是所有的时间.

现在我只是显示数据,但这不是正确的方法,在IE中这是行不通的.

这就是我目前正在做的事情

if(myField.xtype == "tagfield"){
        myField.xtype.setValue(myValue);
        myField.xtype.inputEl.set({'placeholder':myValue});
    }
Run Code Online (Sandbox Code Playgroud)

我想要的是

if(myField.xtype == "tagfield"){
        // Automatic Focus  OR
        // Someway by which I can set the value
    }
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs6

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

ExtJS 6配置Ext.ux

我正在尝试使用ext/packages/ux/classic/src/colorpicker下的颜色选择器所以我设置了我的要求:

requires: [
        'Ext.plugin.Viewport',
        'Ext.window.MessageBox',


        'ThemeDemoApp.view.main.MainController',
        'ThemeDemoApp.view.main.MainModel',
        'ThemeDemoApp.view.main.List',
        'Ext.slider.Single',
        'Ext.ux.colorpick.Button'
    ]
Run Code Online (Sandbox Code Playgroud)

在app.js的顶部,我设置了这个:

Ext.Loader.setConfig({                enabled : true,
                paths   : {
                        'Ext.ux' : 'ext/packages/ux/classic/src'
                } 
        });
Run Code Online (Sandbox Code Playgroud)

但是我没有工作:无法加载资源:服务器响应状态为404(未找到) http:// localhost:1841/ext/classic/cl ... = 1437726506841

它不需要我的加载程序配置.如何正确配置Ext.ux?

谢谢

javascript extjs extjs6 extjs6-classic

8
推荐指数
1
解决办法
5387
查看次数

拖动面板时extjs阴影bug

我的Ext JS项目中有三个面板 ; 这是一个面板作为父面板,另外两个是面板.我已将子面板设置为可拖动. 正如您在下面的代码中看到的:

extend: 'Ext.tree.Panel',
requires: ['Ext.data.TreeStore'],
collapsible: true,
border: false,
draggable: true,
resizable: true,
floating: true,
constrain: true,
renderTo: Ext.getBody(),
store: new Ext.data.TreeStore({
//data.jason
}),
listeners: {
    move: 'onDrag'
}
Run Code Online (Sandbox Code Playgroud)

// onDrag函数是:

onDrag: function(stick)
{
   stick.dd = new Ext.dd.DDProxy(stick.el.dom.id,'group');
   drag = stick;
   drag.anchorTo(Ext.getBody(),"tl-bl?");
   drag.setHeight(490);
   drag.setMinHeight(200);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我拖动儿童面板时,他们会在前一个地方留下一些阴影:

在此输入图像描述

我怎么解决这个问题?

javascript extjs panel draggable extjs6

7
推荐指数
1
解决办法
157
查看次数

如何将ViewModel Store绑定到View?

我是一个非常新的Ext JS,并尝试在一个Panel中嵌入一​​个MultiSelect.

ViewModel有一个stores属性,你可以在这里看到:

Ext.define('TEST.view.controls.search.SearchFilterModel', {
    extend: 'Ext.app.ViewModel',
    alias: 'viewmodel.filter',
    data: {
        title: ''
    },
    stores: {
        test: {
            fields: ['id', 'name'],
            proxy: {
                type: 'ajax',
                url: 'api/test',
                reader: 'array'
            },
            autoLoad: true
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我想在我View这样绑定:

viewModel: {
    type: 'filter'
},


layout: 'fit',
border: 1,
plain: true,
scrollable: 'y',
layout: 'fit',


bind: {
    title: '{title}',
},


items: {
    xtype: 'multiselect',
    scrollable: false,
    allowBlank: true,
    ddReorder: true,
    bind: {
        store: '{test}' …
Run Code Online (Sandbox Code Playgroud)

javascript extjs mvvm extjs6

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

如何在ExtJS中的绑定公式中使用逻辑运算符?

我在表单中有3个输入字段,并且只有在前两个输入具有值时才启用第三个输入.

这似乎不起作用:

Ext.define('MyApp.view.myobj.MyPanel', {
    extend:'Ext.Panel',

    viewModel: {},

    items: [{
        xtype: 'form',
        defaultType: 'textfield',
        items: [
            {fieldLabel: 'Field 1', reference: 'field1', publishes: 'value'},
            {fieldLabel: 'Field 2', reference: 'field2', publishes: 'value'},
            {
                fieldLabel: 'Field 3', 
                bind: {
                    disabled: '{!field1.value} || {!field2.value}'
                }
            },            
        ],
    }],
});
Run Code Online (Sandbox Code Playgroud)

小提琴

extjs extjs6

7
推荐指数
1
解决办法
6699
查看次数

Tagfield滚动不起作用

我正在使用6.0有时我在ExtJS 6标签中遇到了奇怪的问题.我正在使用tagfield growMax : 3.现在当为tagfield选择的值超过三个tyhen时,我在tagfield中获得了一个指针向上和向下选项.

这很好现在,当我点击向下箭头时,这个部分就是我正好把我带到了田野的底部.我无法看到其中放置了什么其他值.有什么方法可以减慢那些值的移动速度.

我的小提琴:小提琴

重现的步骤.

  1. 选择几个值(超过2或3)
  2. 单击向下指针.(图片中的红框)图片

它可能会跳过第二个第三个值并导致你结束.

注意:有时我需要在tagfield中为100个数据执行此操作.甚至看不出我选择的是什么和所有.我也无法改变身高.

点击滚动按钮是否有任何更加激烈的事件.

javascript extjs extjs6

7
推荐指数
1
解决办法
739
查看次数

ExtJS 6:在单个网格列中使用多个编辑器的问题

笔记

ExtJS版本:6.2.1.167

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

此功能在ExtJS 2.x中有效,并且没有任何问题.


目标

拥有一个网格(带有分组功能和单元格编辑插件),可以在一列中包含多个不同的编辑器(textfieldcombos).

网格颠覆了传统的表格系统,以便垂直显示字段名称和记录值.表头的示例如下所示:

+-------------+-----------------+-----------------+-----------------
- Field Names - Record 1 Values - Record 2 Values - Editable Column
+-------------+-----------------+-----------------+-----------------
Run Code Online (Sandbox Code Playgroud)

我们不能使用传统系统,因为有数百个字段,但只有几个记录可供比较.


这是小提琴

这是允许我使用多个编辑器的主要代码:

Ext.define('MemberCellEditing', {

  extend: 'Ext.grid.plugin.CellEditing',
  xtype: 'membercellediting',
  alias: 'plugin.membercellediting',

  getCachedEditor: function(editorId, record, column) {
    var me = this,
      editors = me.editors,
      dropDownName = record.get('dropDown');

    // If dropdown field, use dropdown name as editor id
    if (dropDownName && dropDownName != 'N') editorId = dropDownName;

    // Attempt to get editor
    var …
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs-grid extjs6

7
推荐指数
1
解决办法
902
查看次数

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
查看次数