Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 树视图未展开子节点。我做错了什么?_Extjs_Sencha Architect - Fatal编程技术网

Extjs 树视图未展开子节点。我做错了什么?

Extjs 树视图未展开子节点。我做错了什么?,extjs,sencha-architect,Extjs,Sencha Architect,我创建了一个TreePanel,它使用一个TreeStore和一个最初不显示标签的模型。我在面板中添加了一列,并显示了树的标签 向树中添加孙子不会出现错误,但树不会展开或显示孙子 Ext.define('Writer.view.MainView', { extend: 'Ext.container.Viewport', itemId: 'mainView', layout: { type: 'border' }, initCompone

我创建了一个TreePanel,它使用一个TreeStore和一个最初不显示标签的模型。我在面板中添加了一列,并显示了树的标签

向树中添加孙子不会出现错误,但树不会展开或显示孙子

Ext.define('Writer.view.MainView', {
    extend: 'Ext.container.Viewport',

    itemId: 'mainView',
    layout: {
        type: 'border'
    },

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            items: [
                {
                    xtype: 'panel',
                    region: 'center',
                    itemId: 'contentPanel',
                    layout: {
                        type: 'card'
                    },
                    title: 'Content',
                    items: [
                        {
                            xtype: 'htmleditor',
                            height: 150
                        }
                    ],
                    dockedItems: [
                        {
                            xtype: 'toolbar',
                            dock: 'top',
                            width: 400,
                            items: [
                                {
                                    xtype: 'button',
                                    text: 'MyButton',
                                    listeners: {
                                        click: {
                                            fn: me.onButtonClick,
                                            scope: me
                                        }
                                    }
                                },
                                {
                                    xtype: 'button',
                                    text: 'MyButton'
                                },
                                {
                                    xtype: 'button',
                                    text: 'MyButton'
                                }
                            ]
                        }
                    ]
                },
                {
                    xtype: 'treepanel',
                    region: 'west',
                    id: 'projectTree',
                    itemId: 'projectTree',
                    width: 150,
                    title: 'Organizer',
                    store: 'MyTreeStore',
                    viewConfig: {
                        rootVisible: false,
                        listeners: {
                            select: {
                                fn: me.onViewSelect,
                                scope: me
                            }
                        }
                    },
                    columns: [
                        {
                            xtype: 'treecolumn',
                            width: 148,
                            defaultWidth: 149,
                            enableColumnHide: false,
                            dataIndex: 'name'
                        }
                    ]
                }
            ]
        });

        me.callParent(arguments);
    },

    onButtonClick: function(button, e, eOpts) {

        // This Works
        var tree = Ext.getCmp('projectTree');

        var treeNode = Ext.getCmp('projectTree').getRootNode();
        treeNode.expandChildren(true); // Optional: To see what happens
        treeNode.appendChild({
            name: 'Child 4',
            leaf: true
        });

        // This one works
        treeNode.childNodes[1].appendChild({
            text: 'Grand Child 3',
            leaf: true
        });

        treeNode.childNodes[1].expand();
    },

    onViewSelect: function(dataviewmodel, record, eOpts) {

    }

});
我想弄明白这件事快发疯了。我还为现在有孙子的商店制作了JSON,它可以很好地加载,但它再次无法在树中显示他们

{
    "success": true, 
    "Root": [
          {
            "name": "Chapters",
            "leaf": true,
            "expanded": true,
            "children": [
                {
                    "name": "Chapter 1",
                    "leaf": true,
                    "expanded": true
                 },{
                    "name": "Chapter 2",
                    "leaf": true,
                    "expanded": true
                 },{
                    "name": "Chapter 3",
                    "leaf": true,
                    "expanded": true
                 }
            ]
         },{
            "name": "Characters",
            "leaf": true,
            "expanded": true
         },{
            "name": "Settings",
            "leaf": true,
            "expanded": true
         }
    ]
}

根据埃文的评论;和来自:

leafconfig设置为true,表示此子级可以没有子级。这个 展开图标/箭头将不会为此节点渲染

因此,在您的情况下,从任何具有子节点且您想要展开它们的节点中删除
leaf:true
config


正如我在前面的问题中所说,我强烈建议您先阅读Sencha文档,它不仅可以回答您的大多数常见问题,而且在实施之前,阅读它还将使您了解基本逻辑,因此您将来不必问一个简单的问题。

根据Evan的评论;和来自:

leafconfig设置为true,表示此子级可以没有子级。这个 展开图标/箭头将不会为此节点渲染

因此,在您的情况下,从任何具有子节点且您想要展开它们的节点中删除
leaf:true
config


正如我在前面的问题中所说,我强烈建议您先阅读Sencha文档,它不仅可以回答您的大多数常见问题,而且还可以让您在实施之前理解基本逻辑,所以你以后不必问一个简单的问题。

你知道
leaf
是什么意思吗?我不知道,但查了之后我明白了。你知道
leaf
是什么意思吗?我不知道,但查了之后我明白了。谢谢。我一直在看文档,因为我一直在玩它。我试着用谷歌搜索我首先遇到的问题,并参考文档。我不知道在这里可以问什么样的问题,或者什么对你来说是简单的,可能不是其他人,但是谢谢你的回答help@ThinkNewDev让我换一句话:“阅读文档可以为你节省大量宝贵的时间:)”我没有说任何关于“问题种类限制”的话,我理解,但阅读文档并不总能解释一切。。。例如,将leaf设置为true(仅针对孙辈)会使我的json以递归方式加载并终止页面。。。没有错误只是更好,不要只是复制粘贴你不懂的代码。如果你不知道
leaf
的功能,那就去查一查。要清楚我不是在复制和粘贴代码。我在建房子的时候,读了很多书,还抬头看了很多书。我看到的大多数例子都有铅元素。我有没有专门查过那个元素?不,但是请原谅我试图学习并使用这样一个网站来达到它的预期目的。谢谢。我一直在看文档,因为我一直在玩它。我试着用谷歌搜索我首先遇到的问题,并参考文档。我不知道在这里可以问什么样的问题,或者什么对你来说是简单的,可能不是其他人,但是谢谢你的回答help@ThinkNewDev让我换一句话:“阅读文档可以为你节省大量宝贵的时间:)”我没有说任何关于“问题种类限制”的话,我理解,但阅读文档并不总能解释一切。。。例如,将leaf设置为true(仅针对孙辈)会使我的json以递归方式加载并终止页面。。。没有错误只是更好,不要只是复制粘贴你不懂的代码。如果你不知道
leaf
的功能,那就去查一查。要清楚我不是在复制和粘贴代码。我在建房子的时候,读了很多书,还抬头看了很多书。我看到的大多数例子都有铅元素。我有没有专门查过那个元素?没有,但是请原谅我试图学习并使用这样一个网站来达到它的预期目的。