Sencha Touch:Panel.hide()/ show()仅在调整大小后才有效

时间:2011-05-31 14:01:46

标签: javascript html5 google-chrome sencha-touch extjs

这是一个演示应用:demo Sencha Touch app。左下角的按钮应显示/隐藏“位置信息转到此处”栏顶部的菜单面板,但是,它以奇怪的方式工作。

这是(IMO)它应该如何工作:

  1. 我点击了一个按钮
  2. 出现一个面板
  3. 以下是它现在的工作原理:

    1. 我点击了一个按钮
    2. 什么都没发生
    3. 我调整窗口大小或按F11(无论如何都要调整大小)
    4. 出现一个面板
    5. 那么,有人可以解释为什么会发生这种情况,我该如何解决我的问题呢? THX。

3 个答案:

答案 0 :(得分:4)

我找到了解决这个问题的方法。这是:

app.viewport.dockedItems.items[0].rendered = false;
app.viewport.doComponentLayout();

所以,问题解决了。

答案 1 :(得分:1)

我不确切知道您的代码在做什么,但您需要在Panel上进行doLayoutdoComponentLayout调用,以便在添加或删除组件时刷新项目。

更改浏览器窗口时发生的resize事件会执行该调用,这可能是您看到该行为的原因。

答案 2 :(得分:0)