我需要覆盖Ext.data.Connection以显示登录表单.我现在在Ext.application.launch中这样做,它按预期工作.
是否有可能将这段代码交换到不同的额外文件中?
我正在使用ExtJS 4.0.7,我是Ext的新手,并且正在使用新的MVC架构.我有一个RadioGroup,改变后,我想用来揭示更多的UI元素.问题是,更改事件会为RadioGroup触发两次.我假设这是因为两个无线电都会激活事件以使其值发生变化.
是否有办法侦听对具有相同名称的RadioGroup或Radios的更改,只会触发一次?根据我对jQuery和Flex的经验,我希望RadioGroup只能触发一次.
这是我视图中的RadioGroup代码:
items: [{
xtype: 'radiogroup',
id: 'WheatChoice',
padding: '',
layout: {
padding: '-3 0 4 0',
type: 'hbox'
},
fieldLabel: 'Choose Model',
labelPad: 5,
labelWidth: 80,
allowBlank: false,
columns: 1,
flex: 1,
anchor: '60%',
items: [
{ xtype: 'radiofield', id: 'SpringWheat', padding: '2 10 0 0', fieldLabel: '',
boxLabel: 'Spring', name: 'wheat-selection', inputValue: '0', flex: 1 },
{ xtype: 'radiofield', id: 'WinterWheat', padding: '2 0 0 0', fieldLabel: '',
boxLabel: 'Winter', name: 'wheat-selection', inputValue: '1', checked: true, …Run Code Online (Sandbox Code Playgroud) 所以我有一个父母和儿童商店,如图所示:
父模型
Ext.define('APP.model.Client', {
extend: 'Ext.data.Model',
requires: [
'APP.model.Website', 'Ext.data.association.HasMany', 'Ext.data.association.BelongsTo'],
fields: [{
name: 'id',
type: 'string'
}, {
name: 'name',
type: 'string'
}, {
name: 'slug',
type: 'string'
}, {
name: 'active',
type: 'boolean'
}, {
name: 'current',
type: 'boolean'
}],
hasMany: {
model: 'APP.model.Website',
name: 'websites'
}
});
Run Code Online (Sandbox Code Playgroud)
儿童模特
Ext.define('APP.model.Website', {
extend: 'Ext.data.Model',
fields: [{
name: 'id',
type: 'string'
}, {
name: 'client_id',
type: 'string'
}, {
name: 'sub_domain',
type: 'string'
}, {
name: 'active',
type: 'boolean'
}], …Run Code Online (Sandbox Code Playgroud) 我有几个扩展AbstractFormGrid的网格.有一个对象(可能是网格或不是网格)如何检查此对象是否扩展AbstractFormGrid.我设法使用Ext.getName(object)或object.self.getName()获取对象类名,但我无法获得"父"类.
我在使用ExtJS 4.0.7 TreePanel时遇到了麻烦.我想从JSON请求加载完整的树.请求返回以下内容:
{
"data": {
"children": [
{
"text": "OS",
"leaf": false,
"children": [
{
"text": "Hostname",
"leaf": false,
"children": [
{
"text": "hostname.int.com",
"leaf": true,
"children": []
}
]
}
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
使用它不适用于以下商店配置(或任何其他我尝试过)
Ext.define('My.store.SysInfo', {
extend: 'Ext.data.TreeStore',
model: 'My.model.SysInfo',
proxy : {
type : 'ajax',
url : '/sysinfo/getSysInfo.php',
reader : {
root : 'data'
}
}
});
Run Code Online (Sandbox Code Playgroud)
该模型具有以下代码:
Ext.define('My.model.SysInfo', {
extend: 'Ext.data.Model',
fields: ['text']
});
Run Code Online (Sandbox Code Playgroud)
使用此配置添加treepanel时,它不起作用:
{
xtype: 'treepanel',
name : 'sysinfo',
height: '100%',
store: …Run Code Online (Sandbox Code Playgroud) 我有这个父类:假设它的语法正确(视图别名,存储和xtypes):
Ext.define('myParent' {
extend : 'Ext.app.Controller',
refs : [{
ref : 'formwindow',
selector : 'forms-formwindow'
}, {
ref : 'mainForm',
selector : '#mainForm'
}],
});
i had this subclass :
Ext.define('myChild' {
extend : 'myParent',
});
Run Code Online (Sandbox Code Playgroud)
每当我把这段代码放在我的子类中时:
refs : [{
ref : 'myReference',
selector : 'myProduct'
}],
Run Code Online (Sandbox Code Playgroud)
我在运行时遇到这个错误:
Uncaught TypeError: Object [object Object] has no method 'getMainForm'
Run Code Online (Sandbox Code Playgroud)
我想知道我的孩子班是否覆盖了父类的引用....
发生了什么 ?它真的覆盖了myParent的引用吗?
我想从ViewController加载项目/项目.这是一个例子:
Ext.define('MyApp.model.User', {
extend: 'Ext.data.Model',
fields: ['name', 'email'],
proxy: {
type: 'rest',
...
}
});
Ext.define('MyApp.store.User', {
extend: 'Ext.data.Store',
model: 'MyApp.model.User',
data : [
{firstName: 'Seth', age: '34'},
{firstName: 'Scott', age: '72'},
{firstName: 'Gary', age: '19'},
{firstName: 'Capybara', age: '208'}
]
});
Ext.define('MyApp.view.MainController', {
extend: 'Ext.app.ViewController',
alias: 'controller.main',
init: function() {
//how to access store here and load items, using its load() method?
//how to access model here and load an item, using its load() method?
}
});
Run Code Online (Sandbox Code Playgroud)
我想学习如何在控制器内部控制器rowEditor插件..
这是rowEditor的定义:
Ext.define(appName + '.view.department.DepartmentGrid', {
initComponent: function() {
this.rowEditor = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit: 2
});
}
}
Run Code Online (Sandbox Code Playgroud)
**控制器**
this.control({
'departmentgrid': {
// ??
}
});
Run Code Online (Sandbox Code Playgroud) 我正在使用extjs。我需要根据要求从存储中检索不同的数据。我的商店中包含单个列表而不是嵌套列表,该列表具有诸如AMERICAS,North Sea和SE Asia的区域。这些区域本身具有subRegion,vesselName和vesselType值。我需要根据区域检索唯一值,因为它包含许多重复的记录。我尝试了如下操作,但是它没有用。有人可以联系我如何实现吗?。非常感谢。谢谢。
var vesselStore=Ext.getStore('VesselStatusReportStore');
var arr=new Array();
var obj;
vesselStore.each(function(rec,index)
{
obj=new Object();
if(rec.get('region')=='AMERICAS'){
obj.subRegionAmerica=rec.get('subRegion');
obj.vesselNameAmerica=rec.get('vesselName');
obj.vesselTypeAmerica=rec.get('vesselType');
}
if(rec.get('region')=='NorthSea'){
obj.subRegionNorthSea=rec.get('subRegion');
obj.vesselNameNorthSea=rec.get('vesselName');
obj.vesselTypeNorthSea=rec.get('vesselType');
}
if(rec.get('region')=='SE Asia'){
obj.subRegionSEAsia=rec.get('subRegion');
obj.vesselNameSEAsia=rec.get('vesselName');
obj.vesselTypeSEAsia=rec.get('vesselType');
}
arr.push(obj);
console.log(obj);
});
Run Code Online (Sandbox Code Playgroud)
杰森:
[ {
"region" : "AMERICAS",
"startDate" : null,
"subRegion" : "US",
"vesselName" : "Thoma-Sea � Hull #147",
"vesselType" : "PSV"
},
{
"region" : "AMERICAS",
"startDate" : null,
"subRegion" : "US",
"vesselName" : "Thoma-Sea � Hull #148",
"vesselType" : "PSV" …Run Code Online (Sandbox Code Playgroud) 我必须为每个 ajax 请求设置自定义标头,有没有办法只执行一次而无需在每个 ajax 代理中手动配置它。
proxy: {
headers: {
token: 'xyz' // this token that every proxy should contain to communicate with our remote server.
}
}
Run Code Online (Sandbox Code Playgroud)
在 jQuery 中,我可以通过使用“ajaxPrefilter”来实现这一点,如下所示:
jQuery.ajaxPrefilter(function(options, originalOptions, jqXHR) {
jqXHR.setRequestHeader('token', 'xyz');
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在 extjs 中正确地做到这一点,请帮忙!