0

子をツリーノードに動的に追加します。子ノードにはid、record.idがあると思います。しかし、私はExtJSから生成されたIDを取得します。parent.appendChild({id:record.id、text:record.value});

4

1 に答える 1

0

これは、2つの異なる概念を混同しているためです。すべてのツリーノードには視覚的表現とその背後にあるモデルがあり、視覚的要素IDとモデルIDの2つのIDがあります。

ビジュアル要素IDではなく、モデルIDを設定しています。このコードを見てください:

var store = Ext.create('Ext.data.TreeStore', {
    root: {
        expanded: true,
        children: []
    }
});

var tree = Ext.create('Ext.tree.Panel', {
    title: 'Simple Tree',
    width: 200,
    height: 150,
    store: store,
    rootVisible: false,
    renderTo: Ext.getBody()
});

var root = tree.getRootNode();
var appendedRecord = root.appendChild({id: 1, text: 'juan'});
alert('component id: ' + appendedRecord.id + '    model id: ' + appendedRecord.get('id'));​

より良いのは、ここでjsfiddleの同じコードを見て、Runを押すことを忘れないでください

http://jsfiddle.net/HReqT/

アップデート:

Extjsはビジュアル要素IDを割り当てる人であり、それを行うことはできません(または、少なくともそれを行うべきではありません)

于 2012-11-08T04:24:32.317 に答える