ActiveItemChange和Dataview.Dataview显示

时间:2013-08-12 18:20:22

标签: extjs sencha-touch sencha-touch-2

这是我的SubView enter image description here

我正在重新设计我的UI。起初我的后退按钮是我标题栏中的一个真实按钮。 这个按钮的逻辑工作得很好,并且是MVCed。现在我已将我的标签链接到控制器发送正确的信号。控制器确实接收并导航了我的Tree结构。

问题是,点击后退按钮后,项目标签中的Dataview.dataview无法正常显示。

这是我的代码

onSubviewActiveItemChange: function(container, value, oldValue, eOpts) {
var me = container;
switch(value.getItemId())
{
    case  'back_Innertab':
        me.fireEvent('goback');
        break;
    case  'exit_Innertab':
        me.fireEvent('exit');
        break;
    case  'project_Innertab':
        me.fireEvent('reloadchildren')
        break;
    case  'chart_Innertab' :
        me.fireEvent('categorydisplay',me.getComponent('chart_Innertab').getComponent('pie'));
        break;
}

}

使用该代码,当点按“后退”选项卡时,控制器会完成作业,并且我的tabpanel会将我发送到“后退”选项卡。如果我要转到“项目”选项卡,它将显示正确的元素。很好,但我不想第二次点击返回项目标签。所以这将是我的代码

  onSubviewActiveItemChange: function(container, value, oldValue, eOpts) {
    var me = container;
    switch(value.getItemId())
    {
        case  'back_Innertab':
            me.fireEvent('goback');
            me.setActiveItem(oldValue);
            break;
        case  'exit_Innertab':
            me.fireEvent('exit');
            break;
        case  'project_Innertab':
            me.fireEvent('reloadchildren')
            break;
        case  'chart_Innertab' :
            me.fireEvent('categorydisplay',me.getComponent('chart_Innertab').getComponent('pie'));
            break;
    }
}

通常它会在点击之前将我发回活动标签,但事实并非如此。 它将我发送回Back Tab,但项目标签覆盖了......

这是检查员......(在后退标签点击后检查屏幕截图中的灰色区域) enter image description here

如何才能将其更正为真正位于“项目”标签中并正确显示? 我真的需要它,似乎无法找到一种方法:S

1 个答案:

答案 0 :(得分:0)

OnActiveItemChange

如果要通过更改选项卡来更改此事件内的选项卡,则结果几乎未定义,它的后端实现无法正确支持此类任务。