Вопрос по – нажатие кнопки не реагирует, когда вид добавляется во второй раз

4

Когда элемент из списка выбирается, я выполняю следующие строки кода.

this.details = Ext.create('EventManager.view.EventInfoView');
this.getNavigationView().push(this.details);

поэтому я создаю новое представление и помещаю его в навигационное представление. В моем контроллере я слушаю нажатие на acceptEventButton, которое находится внутри недавно созданного представления.

Ext.define('EventManager.controller.eventController', {
extend: 'Ext.app.Controller',
config: {
    refs: {
        acceptEventButton: '#acceptEventButton'
    },

    control: {
        "acceptEventButton": {
            tap: 'onAcceptButtonTap'
        }
    }
},
...

При первом размещении этого вида в навигационном представлении работает нажатие кнопки. Когда я нажимаю кнопку «Назад» и нажимаю другой вид, кнопка ничего не делает.

Я бы хотел решить эту проблему, выполняя логику, как сейчас. Я бы не хотел добавлять списки событий самостоятельно, пока создаю представление, а затем нажимаю на него.

Любые идеи, где эта проблема находится и как исправить?

Тоже самое. Я очень расстроился из-за этой проблемы,add() Метод также получает то же самое. Я думаю, что это ошибка. Thiem Nguyen

Ваш Ответ

3   ответа
2

и она была решена путем установки
autoDestroy: ложь,
при конфиге моего navigationView

очень хорошо работает после применения false к этому свойству autoDestroy.
надеюсь, это будет работать и для вас.

Error: User Rate Limit Exceeded dewil_de
Error: User Rate Limit Exceeded
5

которая позволяет добавлять не перечисленные свойства.

Я решил это, добавив поле действия на моей кнопке и в моем контроллере, реагирующем на это действие.

{
    xtype: 'button',
    id: 'acceptEventButton',
    ui: 'confirm',
    text: 'Accept',
    action: 'acceptEvent'
}

и в моем контроллере у меня есть следующие строки кода

    control: {
        "button[action=acceptEvent]": {
            tap: 'onAcceptButtonTap'
        }
    }
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded dewil_de
0

control: {
    "button[id='acceptEventButton']": {
        tap: 'onAcceptButtonTap'
    }
}

В качестве дополнительной информации: Вы также можете использовать xtype в этих запросах.
Например, если у вас есть навигационное представление следующим образом:

Ext.define('app.view.Pages', {
    extend: 'Ext.NavigationView',
    xtype: 'pages',
    ...
}

и вы выдвигаете список к этому как это:

Ext.define('app.view.ItemList', {
    extend: 'Ext.dataview.List',
    xtype: 'itemlist',
    ...
}

тогда вы можете написать свой запрос следующим образом:

control: {
    "pages itemlist": {
        itemtap: 'onItemTap'
    }
}

Похожие вопросы