我尝试使用此代码隐藏标签:
hideTab: function() {
var dashboard_obj = Ext.ComponentQuery.query('sellax-navigation-panel');
var tabBarObj = dashboard_obj[0].down('tabpanel').getTabBar();
var tabsArray = tabBarObj.items;
for(var tabBarObjItems = 0; tabBarObjItems < tabsArray.length; tabBarObjItems++)
{
var tabObj = tabsArray.get(tabBarObjItems);
if(tabObj.card.id == "tabSettings")
{
var tabObj_list = Ext.ComponentQuery.query('sellax-navigation-sub[id=settingsSubNav]');
var tabBarObj_list = tabObj_list[0].getTabBar();
var tabsArray_list = tabBarObj_list.items;
for(var tabSubBarObjItems = 0; tabSubBarObjItems < tabsArray_list.length; tabSubBarObjItems++)
{
if(tabsArray_list_item.id == "tab-1334")
{
tabsArray_list_item.hide();
}
但控制台值不正确,那么如何隐藏该标签?
我的代码:
var tabsArray_list = tabBarObj_list.items;
for(var tabSubBarObjItems = 0; tabSubBarObjItems < tabsArray_list.length; tabSubBarObjItems++)
{
var tabsArray_list_item = tabsArray_list.get(tabSubBarObjItems);
if (tabsArray_list_item.hasOwnProperty('itemId'))
{
value = tabsArray_list_item['itemId'];
if (value == 'tabdeptsList')
{
tabsArray_list_item.hide();
}
}
代码不会引发任何错误,但选项卡不会隐藏。
如何获取此面板的ItemId并隐藏此标签?
答案 0 :(得分:0)
要检索特定itemId
的组件,您应该使用getComponent
的{{1}}方法。它接受一个itemId作为它的参数并返回匹配的组件。
来自Sencha ExtJs 6.2.1 documentation:
检查此容器的items属性并获取此容器的直接子组件。
所以你不需要对项目进行循环,只需调用函数即可。
Ext.container.Container
要隐藏关联的标签,您可以使用组件的var tabsArray_list = tabBarObj_list.getComponent('tabdeptsList');
属性。
tab
var tab = tabsArray_list.tab; // Each component has a reference to it's tab
tab.hide();