我正在使用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)
两者都按预期工作.谁能告诉我差异和可能的好处?
我想在PropertyGrid中使用HtmlEditor,我的框架版本是ExtJS 6.0.0.640.但是,我有这个问题......
当我使用Htmleditor对propertygrid进行冲突显示时.然而,我将框架版本改为4而不是问题.
例如,以下链接和更改框架版本为6.0.1.250.你第一次看到没问题.
但是,您对列进行排序,您将看到要显示的问题.
我的代码:
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) 我正在开发一个 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)
我想在鼠标悬停在节点上时显示工具提示,但它不起作用。
所以在 ExtJS 6 中doLayout被删除了Ext.Container,我试图找出它的正确替代品是什么。或者根本没有必要调用一个方法来刷新布局?我正在使用,updateLayout但我不确定这是要走的路。
有任何想法吗?
我刚注意到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会非常难看.(这是在我刚刚升级的庞大代码库上发生的,因此使用完整的类名称将是我的最后一个资源).
有人遇到过这个问题吗?
如何在点击进入时选择组合值.
我正在使用组合框,使用鼠标点击并点击输入即可获得值.但是当我通过点击输入第一个值选择第二个值时消失.我在搜索中出现使用键盘和值.如何解决这个问题.
在我的小提琴手中,请通过单击输入选择两个值,通过单击第二个值来消除第一个值.
请帮我解决这个问题.MyFiddler.
注意:我不想使用tagfield.
我需要使用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.
如何从另一个面板拖动面板项?
例如:我想将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) 我正在 6.2.0 版本中编写 Extjs 应用程序,我\xe2\x80\x99ve 遇到了路由情况。\n我的问题是,当我们进入 NavigateDeep 时,如果我输入 Url,它会捕获,但它不会\xe2 \x80\x99t 渲染。\n我在主控制器上定义路由,如下所示:
\n\nExt.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) 我有一个这样的网格存储。
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)