Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sencha touch Sencha Touch-将ActiveItem设置为嵌套列表的顶层_Sencha Touch - Fatal编程技术网

Sencha touch Sencha Touch-将ActiveItem设置为嵌套列表的顶层

Sencha touch Sencha Touch-将ActiveItem设置为嵌套列表的顶层,sencha-touch,Sencha Touch,我有一个带有嵌套列表项的选项卡面板。每个嵌套列表都有几个层次。如果向下钻取其中一个嵌套列表,然后单击选项卡面板中的另一项,然后单击返回到该项,则嵌套列表仍然向下钻取,而不是刷新到嵌套列表的顶层 如何使nestedlist在每次返回时都显示顶层而不是向下钻取的层 其他信息 好的,我已经走了一段路了。以下是我现在掌握的代码: var tabBar = new Ext.TabPanel({ fullscreen: true, id : 'footer',

我有一个带有嵌套列表项的选项卡面板。每个嵌套列表都有几个层次。如果向下钻取其中一个嵌套列表,然后单击选项卡面板中的另一项,然后单击返回到该项,则嵌套列表仍然向下钻取,而不是刷新到嵌套列表的顶层

如何使nestedlist在每次返回时都显示顶层而不是向下钻取的层

其他信息 好的,我已经走了一段路了。以下是我现在掌握的代码:

     var tabBar = new Ext.TabPanel({
        fullscreen: true,
        id : 'footer',
        cardSwitchAnimation:false,

          listeners: {

                  cardswitch: {
                           fn: function() { 
                                  Ext.getCmp('footer').getActiveItem().setActiveItem(0);
                             }
                        }
          },

        tabBar: {
           dock: 'bottom'
        },
        items: [/* some nestedlist components */]
     });

所以最后一个问题是,每次我切换cardswitch时,我都会看到嵌套列表的“向上钻取/向后钻取”动画向后滑动或向后钻取到顶级项。如何让它只显示顶级项目而不显示此向上钻取/向后滑动动画?当用户向下钻取嵌套列表时,我希望保留向前滑动和向下钻取动画。

您可以尝试在setActiveItem方法中将cardSwitchAnimation参数设置为false

[UPDATE]取消选择项目

为嵌套列表上的项目点击事件添加事件侦听器

nestedList.on("itemtap", function(nestedlist, index, item, e){setTimeout(function(){nestedlist(index);},500);}, this);
[更新]来自John

由于某种原因,你的代码对我没有任何帮助。但这一次成功了:

var nestedList = new Ext.NestedList({
      store: store,
      listeners: {
        itemtap: function(dv, ix, item, e) {
            // Clear the selection soon
            setTimeout(function(){dv.deselect(ix);},500);
        }
    }
});

2014年3月,在版本2.3.1中,我遇到了Ext.dataview.NestedList对象的上述问题。使用“取消选择”方法的建议方法对我不起作用——可能是因为从最初的问题开始已经过去了两年

为了解决问题,我使用了以下方法:

nestedList.goToNode( nestedList.getStore().getRoot() );

是的,那也行。现在我有一个最后的问题,前一个选择的项目仍然是高亮度。如何取消选择()它?我让troubel在正确的对象上找到一个DecelectAll()函数,或者尝试id化记录id,然后为它找到与Decelecte()等价的对象函数。嘿,Tdebaileul,我注意到代码中有一个bug,我不知道如何修复。尽管cardswitch可以工作并将您带回顶层,但“后退”按钮不能正常工作。它有时出现在顶层,而有时,它实际上根本不会返回。当我执行getActiveItem()时,后退按钮的活动似乎失去了同步。有没有关于如何修复的建议?我想如果你开始一个新问题会更好。这会更清楚。完成后请告诉我。好的,新问题发布在这里: