Я не знаю, насколько вам комфортно с внутренней работой Sencha Touch, поэтому как вы будете поступать так, зависит от вас -
Кнопка возврата там, скрытая, когда вложенный списокотображается (созданный в функции initComponent с hidden: true
), а затем onBackTap, onItemTap и setActivePath будут вызывать syncToolbar ближе к концу своих функций, где кнопка «назад» скрыта, когда вы находитесь на глубине 0.
Таким образом, есть 2 места, с которыми вам нужно что-то сделать, во-первых, это initComponent, который прост - просто внедрите initComponent в свой nestedList, вызовите initComponent суперкласса, а затем установите backButton видимым
var myNestedList = new Ext.NestedList({
...,
initComponent: function() {
myNestedList.superclass.initComponent.call(this);
this.backButton.setVisible(true);
},
...
});
Это нужно для того, чтобы показать это изначально ... как вы решите, как справиться с исправлением syncToolbar, зависит от вас.Вы можете использовать Ext.override, вы можете скопировать и вставить всю функцию syncToolbar в ваш объект nestedList, который также переопределит его, или вы можете делать то, что вам никогда не говорили, и просто редактировать файл sencha-touch.js напрямую,Однако, если вы решите это сделать, то вы хотите изменить
syncToolbar: function(card) {
...
backToggleMth = (depth !== 0) ? 'show' : 'hide';
if (backBtn) {
backBtn[backToggleMth]();
if (parentNode) {
backBtn.setText(backBtnText);
}
}
... };
. Вы можете либо изменить backToggleMth
на = 'show'
, либо просто удалить if (backBtn {...}
все вместе.