【问题标题】:Add button in title bar on a specific card only, in sencha touch仅在特定卡片的标题栏中添加按钮,在煎茶触摸中
【发布时间】:2014-07-18 10:07:18
【问题描述】:

我只需要在特定卡片上显示刷新按钮,其标题栏在某些父面板中定义。我尝试了以下方式:

父面板:

config:
{
    layout : 'fit',
    items:[
        {
            xtype:'titlebar',
            docked:'top',
            title:'Directory',
            items:[
                {
                    xtype: 'button',           //First Button-visible in all cards
                    docked: 'left',
                    iconCls: 'arrow_left',
                    action: 'back'
                },
                {
                    xtype: 'button',           //Target button-to be visible in one card only
                    docked: 'right',
                    iconCls: 'refresh',
                    action: 'reset',
                    hidden: true              //hiding this button
                }
            ]
        },
        {
            xtype:'tabpanel',
            tabBarPosition:'top',
            items:[
                {
                    title: 'Tab1',                              
                    xtype: 'Card1'
                },
                {
                    title: 'Tab2',                              
                    xtype: 'Card2'
                }
            ]
        }
    ]
}

我在上面的面板中为刷新按钮设置了一个隐藏属性为 true,我想为卡片设置为 false。

目标卡片在按钮点击时被激活。我正在将 buttonTapListener 中的隐藏属性更改为 false,然后将目标卡设置为活动状态。但是刷新按钮不可见。这是控制器代码:

onButtonTap: function()
{
    ...
    var getParentPanelRef = this.getParentPanel();
    var parentPanelItems = getParentPanelRef.getItems();
    console.log(parentPanelItems.items[0].config.items[1].hidden);      //Prints true
    directoryMainContainerItems.items[0].config.items[1].hidden=false;
    console.log(parentPanelItems.items[0].config.items[1].hidden);      //Prints false

    var directorySearchMainUIRef = this.getSomeOtherParentPanel();
    directorySearchMainUIRef.setActiveItem(1);                          //Switches to target card
}

hidden 的值改变了,但是按钮没有出现。如果是,请提出替代方案。提前致谢。

【问题讨论】:

    标签: button controller sencha-touch hidden titlebar


    【解决方案1】:

    您可以添加/销毁按钮,而不是隐藏/显示按钮。 不久前我遇到了类似的问题,似乎 sencha 并不总能检测到何时应该重绘组件。

    【讨论】:

    • 我认为你是对的,将 false 设置为 hidden 属性不会触发 Sencha 重新渲染 UI 组件。顺便说一句,add()/remove() 工作正常。非常感谢!
    【解决方案2】:

    也许您的父组件的宽度超出了您的浏览器,并且您的按钮停靠在右侧,以便您可以看到它。

    【讨论】:

      猜你喜欢
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多