我动态地将子项附加到树节点。我希望子节点有id,record.id。但是我从ExtJS获得了生成的id。 parent.appendChild({ id:record.id, text:record.value });
答案 0 :(得分:0)
那是因为你混淆了两个不同的概念。每个树节点都有一个可视化表示,然后是一个模型,有两个id:可视元素id和模型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
<强>更新强>
Extjs是谁分配视觉元素id,你不能这样做(或者至少你不应该这样做)