我正在尝试使用json文件将数据加载到存储.但getCount返回0.Store和asset.json在同一个文件夹中.我需要做出哪些改变?
模型代码:
Ext.define('Nm.model.analysis.Asset', {
extend: 'Ext.data.Model',
requires: [
'Ext.data.Field'
],
fields: [
{
name: 'assetType',
type: 'string'
},
{
name: 'referenceNo',
type: 'string'
},
{
name: 'action',
type: 'int'
}
]
});
Run Code Online (Sandbox Code Playgroud)
商店我正在尝试创建:
var store = Ext.create('Ext.data.Store', {
model: 'Nm.model.analysis.Asset',
proxy: {
type: 'rest',
url : 'asset.json',
reader: {
type: 'json',
rootProperty: 'assets'
}
},
listeners : {
load : function(store) {
alert('getcount from listener '+store.getCount());
}
}
});
store.load();
alert("getcount="+store.getCount());
Run Code Online (Sandbox Code Playgroud)
asset.json中的数据
{
"assets" : [
{
"assetType" : 'hello', …Run Code Online (Sandbox Code Playgroud) 在 ExtJS 5 中,我想删除文本字段的边框并使其像这样:

当然可以通过两个标签来完成,但不是很干净。我在 ExtJS5 官网上尝试了以下两种方法,但是不行:
Ext.create('Ext.form.Panel', {
title: 'Contact Info',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
// here 1
xtype: 'textfield',
name: 'name',
fieldLabel: 'Name',
border: 0, // set border = 0 or false
hideBorders: true
}, {
// here 2
xtype: 'textfield',
name: 'email',
fieldLabel: 'Email Address',
style: 'border: none;background-image:none;' // set style border none
}]
Run Code Online (Sandbox Code Playgroud)
});
结果:

有人有任何想法吗?谢谢。
使用extjs4.x有一个ext-all.css文件可以在这个位置找到:
ext-4.X - > resources - > css - > ext-all.css
它最初只是指向一个外观和感觉:
@import '../ext-theme-gray/ext-theme-gray-all.css';
Run Code Online (Sandbox Code Playgroud)
然后我们使用自己的自定义CSS(例如图标等)对其进行自定义.
@import '../ext-theme-gray/ext-theme-gray-all.css';
.ico-outlet {
background-image :url('../../../../../img/bank-icon.png') !important;
}
Run Code Online (Sandbox Code Playgroud)
这是添加CSS自定义的标准方法(..我认为)
..
我的问题是:我在哪里可以找到ExtJS-5中的这个文件?或者等价物是什么?
嗨我试图获得组件位置,但我发现getXY()将在不同的事件中显示不同的位置.
像这个样本,小提琴
init: function() {
var me = this;
me.control({
'textfield[itemId=field]': {
change: me.changeField,
focus: me.focusField,
afterrender: me.afterRenderField
}
});
},
focusField: function(field, event) {
console.log(field.getXY());
},
changeField: function(field, newValue, oldValue) {
console.log(field.getXY());
},
afterRenderField: function(field) {
console.log(field.getXY());
}
Run Code Online (Sandbox Code Playgroud)
我认为正确的立场是关注焦点和改变事件.为何后悔不同?
我想在组件渲染后做一些事情,所以我需要获得正确的位置.
我有一个可以在我的应用程序中打开的小窗口,它允许用户执行琐碎的任务,当用户在窗口外单击时,我想简单地关闭它。一些示例建议在背景“掩码”上侦听单击事件- 除了感觉有点笨拙之外,这不是一个选项,因为窗口未配置为modal因为它的功能是非阻塞的,我不想限制它背后的用户界面。
我最初试图挂钩该blur事件,但是在 ExtJS 5+ 中行为是喜怒无常的,即使用以下示例(小提琴),尝试在窗口外拖动或单击。
var win = Ext.create('Ext.window.Window', {
width: 500,
height: 250,
items: {
xtype: 'box',
padding: 20,
html: 'Test window...'
}
});
win.on('blur', win.close, win);
win.show();
Run Code Online (Sandbox Code Playgroud)
是否有一些其他配置或一个巧妙的解决方案可以涵盖这两个问题,跨版本?
我有一个标签字段,我希望我的用户能够向它添加新值。我可以通过设置来实现这一点forceSelection: false。用户可以在标签字段中输入他们的新条目。当他们完成输入当前条目时,他们可以按逗号,它将被添加。
问题是逗号键不是非常直观,更重要的是用户无法添加本身包含逗号的条目。无论如何我可以将此功能重新分配给回车键吗?
jsFiddle在这里:链接
前段时间我遇到了一个问题,当我的 ExtJS 5 应用程序嵌入到 IFrame 中时,触摸设备上的滚动不再起作用(请参阅此线程)。
我已经通过覆盖 Ext 框架中的一些内容解决了这个问题(请参阅解决方案)。
解决方案的一个步骤是将touchmove事件分派给文档本身(框架阻止默认处理此事件):
// ...
touchmove: function(e) {
window.document.dispatchEvent(e.event);
}
// ...
Run Code Online (Sandbox Code Playgroud)
尽管这个解决方案基本上有效,但它有一个缺陷:调度事件会InvalidStateError在每个touchmove事件上抛出一个未处理的事件,这显然很常见:
如果我只是在dispatchEvent语句周围放置一个 try/catch ,则在触摸设备上的 IFrame 内滚动不再起作用,就好像根本没有调用它一样。
如何在不再次中断滚动的情况下摆脱错误?
可以在此处测试滚动有效但发生许多未处理错误的 Testapp 。
可以将网格行值绑定到htmleditor?
我正在尝试下载ExtJS 5源javascript文件,即类似于我们在Ext JS 4.2(ext-all-debug-w-comments.js)中的文件。如果问题对于stackoverflow来说是无关紧要的,或者它太幼稚,我感到抱歉。我只能找到最新版本的下载,即6.xx,但找不到过去的主要版本。我想知道过去的版本是否可以不再用于非商业用途?
注意:我正在尝试下载Windows版本。
谢谢您的帮助。
注意:
就我所见,这个问题不是重复的。此外,带标签的重复问题提供了到Extjs 4的外部(非Sencha)链接,而不是Extjs 5。