Создание листа действий в Sencha Нажмите, когда элемент списка «постучал» - PullRequest
1 голос
/ 17 марта 2011

У меня есть список, сгенерированный из данных JSON в Sencha Touch.По сути, список создается из объекта хранилища данных и действует как список контактов.Я хотел бы знать, как добавить функциональность, чтобы, когда пользователь нажимает на один из элементов списка, в приложении Sencha Touch отображается лист действий, предлагающий ряд действий (таких как «Вызов», «Отправить сообщение» и «Удалить»).«).

Вот код, который я использую для генерации ListvIew:

var listView = new Ext.List({
    store: friendStore,
    itemTpl: '{forename} {surname}<br />{phoneNumber}',
    grouped: true,
    indexBar: true
});

Я знаю, что мог бы использовать параметр on, но это добавит событие tap кСписок, а не каждый пункт.Отображаемый лист действий также будет содержать некоторые ссылки с tel://, поэтому он также должен быть динамическим (поскольку телефонный номер для вызова также хранится в хранилище данных под ключом {phoneNumber}

Hopeэто имеет смысл ...

Ответы [ 2 ]

1 голос
/ 18 марта 2011

В ListView есть событие itemtap, которое вы должны прослушивать. Из документов:

itemtap : ( Ext.DataView view, Number index, Ext.Element item, Ext.EventObject e )

Чтобы получить запись, соответствующую прослушиваемому элементу, просто выполните view.getStore (). GetAt (index). Затем в обработчике событий просто заново создайте ActionSheet на основе данных из записи и покажите его.

Кроме того, присоединение слушателя к списку более эффективно использует память, чем присоединение к каждому отдельному элементу.

0 голосов
/ 17 марта 2011

Это не очень хороший ответ, но я бы посмотрел на DataView , который является родителем List.

У него есть свойство itemSelector, которое вы можете использовать для указания подраздела вашего списка. Если вы используете itemSelector, вы также должны указать свойство tpl.

...