6

我正在使用带有底层 TreeStore 的 NestedList。现在我想将项添加到 NestedList 作为叶子。我怎样才能做到这一点?

目前我的代码(控制器,onAddButtonTapped)如下所示:

var store = Ext.getStore('menuStore');
var customerAreaNode = store.getRoot().getChildAt(1);  
customerAreaNode.appendChild({name: "text", leaf:true});
customerAreaNode.expand();
store.sync();

此代码在叶级别(正确节点后面)产生两个新的空侦听器,在节点级别产生一个新的列表条目。每个新条目在 NestedList 中都没有显示名称,但每个条目的名称字段中都包含“文本”。奇怪的是,叶级别的新条目之一并未输入到基础模型中。所以找不到模型对应的方法:

Uncaught TypeError: Cannot call method 'getSelectedName' of undefined

有人知道如何将数据添加到 NestedList/TreeStore 的简单教程吗?我在 sencha touch 文档中找不到一个很好的例子。

4

2 回答 2

3

叶项目的默认显示字段是“文本”。您可以从这里获取信息。 如果要使用“文本”作为显示字段,则需要将此行更改为

customerAreaNode.appendChild({text: "text", leaf:true});

或者您可以更改嵌套列表的显示字段,因此您的模型这次不需要更改。

yournestedlist.setDisplayField('name');

希望这可以帮助。

于 2012-12-07T10:27:00.427 回答
0

在我的情况下,我曾经像以下方式更新根节点和子节点

Ext.getStore('Contactsstore').getAt(1).getChildAt(0).set('Email',contactemail);    
Ext.getStore('Contactsstore').getAt(1).set('ContactTitle',contacttitle);
于 2013-12-17T10:30:09.603 回答