0

我在 extjs4 工作。我有复选框选择模型的网格。网格正在显示文件和文件夹。如果文件夹被选中,那么我想隐藏一些菜单。所以把代码写成——

selectionchange:function( model, selected, eOpts ){
                    var centralPanel = me.up();
                    var actionBtn = centralPanel.queryById('libraryactionBtn');
                    if(selected.length > 1) {   
                        actionBtn.show();
                        //var i=0;
                        for(i=0;i<selected.length;i++)
                            {
                            if(selected[i].data.isLeaf)
                                {
                                centralPanel.queryById('library-action-menu-view').hide();
                                centralPanel.queryById('library-action-menu-viewOrAddTag').hide();
                                centralPanel.queryById('library-action-menu-viewOrAddNotes').hide();
                                centralPanel.queryById('library-action-menu-copyToCompaign').hide();
                                centralPanel.queryById('library-action-menu-copyToProject').hide();
                                centralPanel.queryById('library-action-menu-sendLink').hide();
                                centralPanel.queryById('library-action-menu-addtofavorite').hide();
                                centralPanel.queryById('library-action-menu-downloadItem').hide();
                                }
                            }
                    } else {
                        actionBtn.hide();
                    }

其中 selected.data.isLeaf 对于文件夹为 false。它仅第一次正确执行。下次我选择文件时,还有它的文件隐藏菜单。如果文件夹被取消选择,那么它的隐藏菜单也是如此。那么我需要做哪些修改

4

1 回答 1

0

首先,我没有看到任何显示菜单的代码。你只是隐藏了菜单。

其次确保 selected[i].data.isLeaf 为假而不是“假”。

于 2013-09-09T04:34:30.143 回答