首页 > 解决方案 > ExtJS - xtype 'breadcrumb':更改选择框和面包屑文本列表中的项目和样式

问题描述

我有一个目录(文件夹)结构,我用 xtype 'breadcrumb'(ExtJS 版本 6.6)显示。

现在我将在我的应用程序中添加一个额外的切换。当我激活切换时,所有文件夹都应显示在面包屑文本列表和选择框中。这是我的实际开发状态并且工作正常。

当我禁用切换时,文件夹名称中带有前导“A”的所有文件夹都应该隐藏在选择框中(或者应该被禁用并显示为灰色)。在面包屑文本列表中,此(“A”-)文件夹应显示为灰色。

例如,我的应用程序中有面包屑文本列表“root > folder_0_0 > folder_1_0”,然后我更改了切换值:然后我不想重新加载完整的面包屑。

我该如何解决这个问题?谢谢你的提示托马斯

这是我的代码。你可以找到这个:https ://fiddle.sencha.com/#view/editor&fiddle/2mqb

    Ext.application({
        name: 'BeadcrumbTest',
        launch: function() {
            var store = Ext.create('Ext.data.TreeStore', {
                root: {
                expanded: true,
                    text: 'Root_folder',
                    children: [{
                        text: 'A_folder',
                        leaf: true
                    }, {
                        text: 'B_folder',
                        expanded: true,
                        children: [{
                            text: 'A_folder',
                            leaf: true
                        }, {
                            text: 'B_folder',
                            leaf: true
                        }]
                    }, {
                        text: 'C_folder',
                        leaf: true
                    }]
                }
            }),
                panel = Ext.create('Ext.panel.Panel', {
                    renderTo: Ext.getBody(),
                    width: 400,
                    height: 100,
                    bodyPadding: 10,
                    tbar: {
                        xtype: 'breadcrumb',
                        store: store
                    },
                    buttons: ['->', {
                        xtype: 'button',
                        text: 'Handle "A" folder',
                        handler: function() {
                          // todo
                        }
                    }]
                });
        }
    });

标签: extjsbreadcrumbs

解决方案


我找到了解决方案:我覆盖了 classic/src/Breadcrumb.js 中的 updateSelection()、_onMenuClick() 和 _onMenuBeforeShow() 方法。


推荐阅读