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