2012-06-15 1 views
0

Я использую getItemTextTpl для добавления компонента флажка во вложенный список. Я также хотел бы переопределить событие события по умолчанию, чтобы при установке флажка проверяется всплывающее сообщение, и список не переходит к следующим элементам. См. Ниже мою конфигурацию. Я могу зафиксировать событие checkbox check, но не знаю, как переопределить поведение по умолчанию для вложенного списка. Спасибо за вашу помощь и, пожалуйста, дайте мне знать, если я могу уточнить любые детали - если это поможет, я использую Сенч архитекторSencha touch 2 - как переопределить событие ответвления вложенного списка для настраиваемого компонента

Nestedlist конфигурация:

getItemTextTpl: function(recordnode) { 
     return '<table width="100%"><row>' + 
     '<tr><td width="100%" align="left" width="100%" valign="bottom"><div class="view"><input type="checkbox" <tpl if="done">checked</tpl> />&nbsp;&nbsp;{name}</td></row></table>'; 

    } 

Контроллер:

onNestedlistInitialize: function(component, options) { 
// setup taskList to listen on the tap on the checkbox and show a popup window 
component.element.on({ 
    tap: function(e, el) { 
     console.log('checkbox tapped'); 
     //need to override nestedlist tap event and show popup message 
    } 
}); 
+0

Почему бы вам не попробовать переопределить событие itemtap? –

+0

@TDeBailleul У меня есть переопределения для захвата, если record.isLeaf() или нет, но как я могу препятствовать продвижению списка по дереву при выборе флажка? – Arkady

+0

Есть что-нибудь работающее? –

ответ

1

Чтобы предотвратить перечислите с перехода на следующую карточку, которую необходимо переопределить так:

var nestedList = Ext.create('Ext.NestedList', { 
    ... 
    listeners:{ 
    activeitemchange:function(){ 
     if(...){ // Check if you checkbox is checked or not 
     return false; // return false prevent the nestedlist from switching to the next view 
     } 
    } 
    } 
}); 
+0

Я установил событие activeItemChange в Architect, чтобы переопределить переключение списка, как вы показали, но все же необходимо каким-то образом захватить событие нажатия флажка (или кнопку или другой элемент формы в элементе списка), прежде чем вернуть false в списке движение. В вашем примере вы показываете проверку того, проверена ли она, но не должна ли она проверяться, будет ли она проверена (может также включать флажок и метку в элементе списка)? Еще раз спасибо за вашу помощь в выяснении этого – Arkady

Смежные вопросы