Sencha Touch:Panel.hide()/show()只有在调整大小后才能工作

Sencha Touch: Panel.hide()/show() works only after resize

本文关键字:调整 工作 Panel Touch hide Sencha show      更新时间:2023-09-26

这里有一个演示应用程序:demo Sencha Touch应用程序。左下角的按钮应该显示/隐藏"位置信息转到这里"栏顶部的菜单面板,然而,它的工作方式很奇怪。

以下是(IMO)应该如何工作:

  1. 我点击了一个按钮
  2. 出现一个面板

以下是它现在的工作方式:

  1. 我点击了一个按钮
  2. 什么都没发生
  3. 我调整窗口大小或按F11(无论如何,这也在调整大小)
  4. 出现一个面板

那么,有人能解释为什么会发生这种情况吗?我该如何解决我的问题?Thx。

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

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

所以,问题解决了。

我不知道您的代码在做什么,但在添加或删除组件时,您需要在面板上执行doLayoutdoComponentLayout调用来刷新项目。

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

我在这里发布了一个答案,可能有助于解决这个问题。

http://www.sencha.com/forum/showthread.php?141705-显示隐藏工具栏停靠面板短暂渲染不正确&p=762261&viewfull=1#post762261