在我们的ExtJS应用程序中,我们有一些菜单和选项卡面板.单击menuItem打开一个网格.
我们要求用户可以在以下两种模式中的任何一种模式下打开包含网格的显示:
tabpanel.window.open,首先加载整个ExtJS库,然后加载网格.弹出窗口作为浏览器窗口是为了方便多个监视器.所以这里的问题是每当我们打开一个弹出窗口时,需要ExtJS库并且它在IE中占用了大量内存.
有没有其他方法我们可以加载ExtJS网格的浏览器窗口弹出窗口而不加载整个ExtJS框架?
或者任何其他想法都是最受欢迎的,因为我们在IE中确实面临很多内存问题而且用户不愿意使用chrome.
提前致谢.
我放置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) 我有一个标记字段,我在其中加载一些值并发送到服务器.我想要的是再次重新加载那个标记字段组件时,应该自动选择这些值.当前它们不是自动选择的,但是如果我将焦点放在标记字段上,那么这些值将按选定的方式进行.
什么是自动关注某些条件的方法.不是所有的时间.
现在我只是显示数据,但这不是正确的方法,在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) 我正在尝试使用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?
谢谢
我的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)
我的问题是,当我拖动儿童面板时,他们会在前一个地方留下一些阴影:
我怎么解决这个问题?
我是一个非常新的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) 我在表单中有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)
我正在使用6.0有时我在ExtJS 6标签中遇到了奇怪的问题.我正在使用tagfield growMax : 3.现在当为tagfield选择的值超过三个tyhen时,我在tagfield中获得了一个指针向上和向下选项.
这很好现在,当我点击向下箭头时,这个部分就是我正好把我带到了田野的底部.我无法看到其中放置了什么其他值.有什么方法可以减慢那些值的移动速度.
我的小提琴:小提琴
重现的步骤.
它可能会跳过第二个第三个值并导致你结束.
注意:有时我需要在tagfield中为100个数据执行此操作.甚至看不出我选择的是什么和所有.我也无法改变身高.
点击滚动按钮是否有任何更加激烈的事件.
ExtJS版本:6.2.1.167
小提琴:fiddle.sencha.com/#view/editor&fiddle/1tlt
此功能在ExtJS 2.x中有效,并且没有任何问题.
拥有一个网格(带有分组功能和单元格编辑插件),可以在一列中包含多个不同的编辑器(textfield和combos).
网格颠覆了传统的表格系统,以便垂直显示字段名称和记录值.表头的示例如下所示:
+-------------+-----------------+-----------------+-----------------
- 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)我正在使用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)
两者都按预期工作.谁能告诉我差异和可能的好处?