ExtJS:从不使用显式模型的TreeStore中获取Model字段

时间:2014-06-03 13:00:14

标签: extjs treepanel

我正在尝试从使用NodeInterface的TreeStore获取存储在我的数据库中的模型字段。 我有当前节点但是,我不知道如何遍历节点以获取当前节点的底层模型和特定字段。

这一切都显示在TreePanel中。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您未设置任何模型,则会从NodeInterface添加默认字段。如果查看源代码,您会看到默认字段列表:

    this.applyFields(modelClass, [
        { name : 'parentId',   type : idType,    defaultValue : null,  useNull : idField.useNull                },
        { name : 'index',      type : 'int',     defaultValue : -1,    persist : false          , convert: null },
        { name : 'depth',      type : 'int',     defaultValue : 0,     persist : false          , convert: null },
        { name : 'expanded',   type : 'bool',    defaultValue : false, persist : false          , convert: null },
        { name : 'expandable', type : 'bool',    defaultValue : true,  persist : false          , convert: null },
        { name : 'checked',    type : 'auto',    defaultValue : null,  persist : false          , convert: null },
        { name : 'leaf',       type : 'bool',    defaultValue : false                            },
        { name : 'cls',        type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'iconCls',    type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'icon',       type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'root',       type : 'boolean', defaultValue : false, persist : false          , convert: null },
        { name : 'isLast',     type : 'boolean', defaultValue : false, persist : false          , convert: null },
        { name : 'isFirst',    type : 'boolean', defaultValue : false, persist : false          , convert: null },
        { name : 'allowDrop',  type : 'boolean', defaultValue : true,  persist : false          , convert: null },
        { name : 'allowDrag',  type : 'boolean', defaultValue : true,  persist : false          , convert: null },
        { name : 'loaded',     type : 'boolean', defaultValue : false, persist : false          , convert: null },
        { name : 'loading',    type : 'boolean', defaultValue : false, persist : false          , convert: null },
        { name : 'href',       type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'hrefTarget', type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'qtip',       type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'qtitle',     type : 'string',  defaultValue : '',    persist : false          , convert: null },
        { name : 'qshowDelay', type : 'int',     defaultValue : 0,     persist : false          , convert: null },
        { name : 'children',   type : 'auto',    defaultValue : null,  persist : false          , convert: null }
    ]);

获得节点(继承自Model)后,只需调用:

node.get('expandable'); // or other field you need