我试图在浏览器中重新加载/刷新页面后将焦点设置在容器中的字段上,但似乎无法找出我做错了什么。我尝试过在容器和控件本身上使用多个侦听器,但没有成功。
Ext.define('Admin.viewviewer.SearchViewTab', {
extend: 'Ext.container.Container',
alias: 'widget.searchviewtab',
id: 'searchviewtab',
title: 'Search',
layout: {
type: 'vbox',
align: 'center'
},
defaultFocus: 'searchInputField',
items: [
{
xtype: 'form',
margin: '100px 0 0 0',
width: 800,
layout: {
type: 'vbox',
align: 'center'
},
defaults: {
width: '100%',
},
items: [
{
xtype: 'textfield',
id: 'searchInputField',
reference: 'searchInputField',
allowBlank: false,
msgTarget: 'under',
name: 'uuid',
bind: '{searchInput}'
},
{
xtype: 'button',
text: 'Execute Query',
formBind: true,
bind: {
text: 'Search {searchInputType}'
},
handler: 'onSearchClick',
}
]
}
],
listeners: {
afterrender: function(cmp) {
cmp.focus(false, 200)
}
}
});
1条答案
按热度按时间wyyhbhjk1#
尝试使用
textfield
的afterrender
侦听器。当前侦听器尝试聚焦容器,而不是文本字段:注意:
defaultFocus
也可以工作,但它需要一个Ext.ComponentQuery,而且最好在表单上定义,而不是在外部容器上。