将焦点设置为文本输入刚刚创建的窗口(Set focus for text input in just

2019-09-18 05:53发布

我有琐碎的窗口:

   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创造的所有元素之前完全同步调用。

有什么我错过了? 我应该绑定什么事件对所有部件提供,而且能够接受的重点是什么?

PS:如果我叫同.focus()后像10ms的间隔小-我得到它的重点,但它不是一个解决方案

Answer 1:

退房activeItem财产- http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Panel-cfg-activeItem

或者你也可以使用defaultFocus : http://docs.sencha.com/ext-js/4-0/#!/api/Ext.window.Window-cfg-defaultFocus



文章来源: Set focus for text input in just created window