在 sencha touch 中删除 tabPanel 的选项卡焦点

发布于 2024-12-10 07:19:14 字数 216 浏览 0 评论 0原文

如何删除 Sencha Touch 中 tabPanel 上任何选项卡的焦点?我正在打开一个不同的对话框,该对话框在 tabPanel 中没有选项卡,我想表示它,以便用户不会感到困惑。我该怎么做?调用 views.tabPanel.setActiveItem(-1)views.tabPanel.setActiveItem(null) 不起作用。有什么想法吗?

How do I remove the focus of any tab on a tabPanel in Sencha Touch? I am opening up a different dialog that does not have a tab in the tabPanel, and I want to represent that so that the user doesn't get confused. How do I do this? Calling views.tabPanel.setActiveItem(-1) and views.tabPanel.setActiveItem(null) don't work. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

止于盛夏 2024-12-17 07:19:14

我认为,对于 tabpanel,它也需要一个且只有一个选项卡处于活动状态。

没有把握。我也是 js 和 sencha touch 的新手。

I think , for tabpanel, it is also require one and only one tab active.

Not sure. I'm also a newbie to js and sencha touch.

惟欲睡 2024-12-17 07:19:14

仅供参考,对于 Sencha Touch 2,我已经实现了以下内容。 请注意但是,这是一种解决方法,因此请持保留态度。

在我的 app.js 中

...
setActiveTab: function(idOfTabToActiveOrNull) {
  var tb = Ext.Viewport.getDockedComponent('your-tabbar-id');
  if (tb && !idOfTabToActiveOrNull) {
    var at = an.getActiveTab();
    if (at) { at.setActive(false); }
    // Note that this only changes style, but the tab is still "active" in the tabbar
  } else if (an) {
    tb.setActiveTab(idOfTabToActiveOrNull);
    tb.getActiveTab().setActive(true); // just to be sure it's marked
  }
},
...

像这样使用它:

YourApp.app.setActiveTab(null); // remove styles for active tab
YourApp.app.setActiveTab('id-of-other-tab'); // change to different tab

FYI, for Sencha Touch 2 I've implemented the following. Note however, that it is a workaround, so take it with a grain of salt.

In my app.js

...
setActiveTab: function(idOfTabToActiveOrNull) {
  var tb = Ext.Viewport.getDockedComponent('your-tabbar-id');
  if (tb && !idOfTabToActiveOrNull) {
    var at = an.getActiveTab();
    if (at) { at.setActive(false); }
    // Note that this only changes style, but the tab is still "active" in the tabbar
  } else if (an) {
    tb.setActiveTab(idOfTabToActiveOrNull);
    tb.getActiveTab().setActive(true); // just to be sure it's marked
  }
},
...

Use it like this:

YourApp.app.setActiveTab(null); // remove styles for active tab
YourApp.app.setActiveTab('id-of-other-tab'); // change to different tab
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文