我有一个简单的窗口:
this.window = Ext.widget('window', {
title: 'Find',
closeAction: 'hide',
width: 300,
layout: 'fit',
items: form
});
里面有琐碎的形式
var form = Ext.widget('form', {
layout: {
type: 'vbox',
align: 'stretch'
},
border: false,
bodyPadding: 10,
items: [
this.findInput,
]
});
只有一项
this.findInput = Ext.widget('textfield', {
name: 'find'
});
问题是:如何在窗口显示后立即设置焦点?我试图在几乎每个窗口事件处理程序中调用.focus()
方法,但没有运气。this.findInput
似乎afterrender
在 DOM 完全创建所有元素之前同步调用了 even 。
我错过了什么?我应该绑定什么事件来渲染所有元素并能够接受焦点?
PS:如果我.focus()
在像 10 毫秒这样的小间隔后调用相同的 - 我会集中注意力,但这不是解决方案