我正在尝试为我的应用程序创建一个带有后退按钮的通用标题栏。我使用{xclass:mUserStories.view.titlebar}将它包含在各种视图中。
以下是标题栏的代码:
Ext.define('mUserStories.view.titlebar', {
extend: 'Ext.TitleBar',
id: 'narwhal',
config: {
docked: 'top',
// id: 'narwhal',
title: 'CHW Module',
items: [{
ui: 'back',
text: 'Back',
id: 'backButton'
// hidden: true
}]
}
})
但是,当我尝试在切换到不同页面时动态更改工具栏时,标题栏的console.log表示_title已更改,但标题栏上的文本和按钮的“隐藏”属性不会更改。
以下是按下按钮切换页面时出现的逻辑代码:
toPage: function (arg) {
var t = Ext.getCmp('narwhal');
var b = Ext.getCmp('backButton');
console.log(t,b)
if (arg === PAGES.PATIENT_LIST) {
t.setTitle('Patient List');
b.setHidden(true)
}
Ext.getCmp('viewPort').setActiveItem(arg);
}
我还尝试在Narwhal的顶部包含一个ref:'#narwhal'并使用var t = this.getNarwhal(),但这也不起作用。
我不确定问题在于保存id的位置,如何调用id,或者因为页面没有正确刷新。任何建议都会有所帮助!
感谢您的时间:)
答案 0 :(得分:0)
我的项目中遇到了同样的情况。
通过让控制器拥有对标题栏的引用并在我的tabPanel上监听activeItemChange,我设法让所有东西都像你想要的那样工作。