我动态地将一个子节点附加到一个树节点。我希望子节点有 id,record.id。但我从 ExtJS 得到生成的 id。parent.appendChild({ id : record.id, text : record.value });
问问题
1741 次
1 回答
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 的人,你不能这样做(或者至少你不应该这样做)
于 2012-11-08T04:24:32.317 回答