ExtJs:defaultFocus不会将焦点放在表单textfield上
看到这把小提琴了吗。 即使通过#fldxyz引用组件正确设置了defaultFocus,组件也不会获得焦点ExtJs:defaultFocus不会将焦点放在表单textfield上,extjs,Extjs,看到这把小提琴了吗。 即使通过#fldxyz引用组件正确设置了defaultFocus,组件也不会获得焦点 Ext.application({ name : 'myapp', // autoCreateViewport is deprecated mainView: 'myapp.MyPanel', launch : function() { } }); Ext.define('myapp.MyPanel', { extend: 'Ext.p
Ext.application({
name : 'myapp',
// autoCreateViewport is deprecated
mainView: 'myapp.MyPanel',
launch : function() {
}
});
Ext.define('myapp.MyPanel', {
extend: 'Ext.panel.Panel', // does not work
// extend: 'MyPanel', // works
layout: 'fit',
//defaultFocus: '[reference=fld]',
//defaultFocus: 'textfield:first',
defaultFocus: '#fldxyz',
items: [{
xtype: 'form',
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
value: 'Indigo',
id: 'fldxyz',
//reference: 'fld',
selectOnFocus: true
}, {
xtype: 'textfield',
fieldLabel: 'Last',
value: 'Montoya'
}]
}]
});
我用6.6.0和7.2.0测试了它
怎么了
感谢以下内容:指定在调用此容器的方法焦点方法时接收焦点的子组件。
您没有调用focus()方法,因此它没有焦点。我已将其添加到“afterrender”侦听器事件中
Ext.application({
name : 'myapp',
mainView: 'myapp.MyPanel'
});
Ext.define('myapp.MyPanel', {
extend: 'Ext.panel.Panel',
title: "My Form Panel",
layout: 'fit',
defaultFocus: '#fldxyz',
items: [{
xtype: 'form',
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
value: 'Indigo',
id: 'fldxyz',
selectOnFocus: true
}, {
xtype: 'textfield',
fieldLabel: 'Last',
value: 'Montoya'
}]
}],
listeners: {
afterrender: function(formPanel) {
formPanel.focus();
}
}
});
在中,如下所示:指定在调用此容器的方法focus方法时接收焦点的子组件。
您没有调用focus()方法,因此它没有焦点。我已将其添加到“afterrender”侦听器事件中
Ext.application({
name : 'myapp',
mainView: 'myapp.MyPanel'
});
Ext.define('myapp.MyPanel', {
extend: 'Ext.panel.Panel',
title: "My Form Panel",
layout: 'fit',
defaultFocus: '#fldxyz',
items: [{
xtype: 'form',
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
value: 'Indigo',
id: 'fldxyz',
selectOnFocus: true
}, {
xtype: 'textfield',
fieldLabel: 'Last',
value: 'Montoya'
}]
}],
listeners: {
afterrender: function(formPanel) {
formPanel.focus();
}
}
});
好的,我知道了。谢谢。好的,我知道了。非常感谢。