1

我正在尝试为我的应用程序创建一个带有后退按钮的通用标题栏。我通过使用 {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 的调用方式,或者是因为页面没有正确刷新。任何建议都会有所帮助!

感谢您的时间 :)

4

1 回答 1

0

我的项目中也遇到过同样的情况。

通过让控制器拥有对标题栏的引用并在我的 tabPanel 上收听 activeItemChange,我设法让一切都像你想要的那样工作。

于 2013-07-10T16:39:31.487 回答