我只需要在特定卡上显示刷新按钮,标题栏在某些父面板中定义。我试过以下方式:
家长小组:
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中将hidden属性更改为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
}
隐藏的值会改变,但按钮不会出现。如果是这样,请建议替代方案。提前谢谢。
答案 0 :(得分:0)
也许您的父组件的宽度超出了浏览器的范围,您的按钮停靠在右侧,以便您可以看到它。
答案 1 :(得分:0)
您可以添加/删除按钮,而不是隐藏/显示按钮。 我前一段时间遇到过类似的问题,似乎sencha并不总能检测到应该重新绘制组件的时间。