Sencha Touch - NavigationView中的NestedList

时间:2013-02-20 11:22:19

标签: javascript html5 sencha-touch sencha-touch-2 toolbar

我的整个应用程序位于NavigationView内,处理不同屏幕之间的导航。 在主屏幕中,我有一个按钮,可以打开NestedList(始终位于NavigationView内)

NestedList inside NavigationView

如何删除嵌套列表工具栏,并能够使用主 NavigationView工具栏处理导航?

3 个答案:

答案 0 :(得分:2)

要使导航视图的后退按钮的行为类似于嵌套列表的后退按钮,您需要覆盖导航视图的后退按钮点击事件。为此,请按照我对How to override back button on Navigation View类似问题的回答。

完成此操作后,您需要每次识别当前显示的视图。如果它是嵌套列表以外的普通视图,则可以简单地弹出该视图。

但是如果它是嵌套列表那么 -

  1. 你必须找到它的水平。我的意思是你现在在哪个级别。
  2. 从列表中找到它的父项。
  3. 加载该视图。
  4. 但做这些事情需要付出很多努力并消耗时间。相反,您可以将嵌套列表的toolbar config置于底部,并在不同位置放置两个单独的后退按钮。嵌套列表的后退按钮将始终使用textdisplayField配置作为应用于其的文本,导航视图的back按钮将包含其他一些文本。

    我已经小提示了它的样子。如果可能,您也可以考虑这一点。 see demo fiddle

    <强>更新

    如果你还想找你所提到的问题。这是另一种方式..

    不要在导航视图中推送嵌套列表视图。使用嵌套列表本身并尝试将后退按钮和其他按钮添加到仅在第一级顶部的工具栏。然后在深入之后,您将自动获得后退按钮。从第一级开始,编写自定义处理程序,它将弹出嵌套列表,即当前视图,并将加载以前的视图。如果你愿意我会在业余时间帮你解决这个问题。

答案 1 :(得分:0)

试试这段代码:

yourNestedList.getToolbar().hide();

例如在嵌套列表/视图的onShow()中。

在文档中,您可以看到可用于嵌套列表的方法列表:

http://docs.sencha.com/touch/2-1/#!/api/Ext.dataview.NestedList

答案 2 :(得分:0)

您也可以在嵌套列表中将其用作配置:

useToolbar: false