javascript - 如何使用 hasOwnProperty 方法获取 itemId 值来隐藏 ext js 中的选项卡

标签 javascript extjs

我尝试使用此代码来隐藏选项卡:

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并隐藏该选项卡?

最佳答案

在容器中查找组件

要检索特定 itemId 的组件,您应该使用 Ext.container.ContainergetComponent 方法。它接受 itemId 作为参数并返回匹配的组件。

来自Sencha ExtJs 6.2.1 documentation :

Examines this container's items property and gets a direct child component of this 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();

完整代码

var tabsArray_list = tabBarObj_list.getComponent('tabdeptsList');
var tab = tabsArray_list.tab;
tab.hide();

关于javascript - 如何使用 hasOwnProperty 方法获取 itemId 值来隐藏 ext js 中的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42226819/

相关文章:

javascript - 如何在 jquery 中动态地将分隔符放入数组中?

JavaScript 执行顺序问题

javascript - 通过 GET 请求启动文件下载

css - ExtJS 从工具栏更改元素的字体颜色

javascript - 将 fullcalendar 与 javascript 一起使用,如何修改参数列表并重新获取?

javascript - ajax拒绝提交数据给php处理

javascript - 在javascript中从另一个数组重新构建对象数组

javascript - 我如何告诉 javascript 在序列化时不要将日期对象转换为 UTC

javascript - 复选框组高度太小 - 复选框不可见

javascript - Ext js获取HTML元素的值