Помощь по созданию формы ExtJS - PullRequest
0 голосов
/ 09 июня 2011

Я использую extJS 4. У меня есть форма, всплывающая каждый раз, когда вы нажимаете изменить профиль. Проблема в том, что каждый раз, когда вы нажимаете «Редактировать профиль», появляется другая форма, так что вы можете просто продолжать нажимать. Есть ли способ сделать форму всплывающей, если она еще не открыта? Спасибо за помощь !!!

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Проблема звучит так, как будто вы создаете новое окно при каждом нажатии кнопки / ссылки "изменить профиль".

То, что вам нужно сделать, это поставить в начале кода вашей формы, чтобы проверить, существует ли он первым. Если этого не произойдет, создайте окно и .show () его ... В противном случае вам просто нужно .show () его. Не забудьте также сбросить форму, если это будет необходимо. Вы также захотите попытаться скрыть окно, а не разрушать его. В противном случае вы будете каждый раз создавать новые объекты.

0 голосов
/ 04 октября 2011

Вы можете сделать вашу форму модальной, чтобы блокировать весь интерфейс, пока вы не закроете ее, или вы можете использовать что-то подобное в вашем контроллере для создания формы:

    editProfile: function(button) {
    var me = this;
    if (!me.win) {
        me.win = Ext.widget('editProfile');
        // delete the me.win reference if the window gets destroyed
        me.win.on('destroy', function() {
            delete me.win;
            return;
        });
    }
    me.win.show();
    }
...