我正在使用 Sencha Touch 制作一个网络移动应用程序。我对 EXTJS 的工作方式不是很熟悉。我这样设置我的列表:
sink.Structure = [{
text: 'Name'
},
{
text: ' <?php echo $name; ?>'
},
{
text: 'Friend'
},
{
text: ' <?php echo $friend; ?>'
},
{
text: 'Shop'
},
{
text: ' <?php echo $shop; ?>'
}];
Ext.regModel('Demo', {
fields: [
{name: 'text', type: 'string'},
{name: 'source', type: 'string'},
{name: 'preventHide', type: 'boolean'},
{name: 'animation'},
{name: 'card'}
]
});
sink.StructureStore = new Ext.data.TreeStore({
model: 'Demo',
root: {
items: sink.Structure
},
proxy: {
type: 'ajax',
reader: {
type: 'tree',
root: 'items'
}
}
});
所以这完美地呈现了列表,正是我想要的,但是我如何更改与 $name; 相呼应的行的值;
在初始加载时,我在 PHP 变量中有值,但如果用户更改它,我希望它更改它的值。我需要重写整个结构吗?
在 Jquery 中,我可以只给元素一个 ID,然后更改它的 .html 内容。但是我注意到,我的列表项的结构方式没有任何可以用来引用它的识别选择器。任何建议都会有所帮助,谢谢!
更新:所以我在这方面取得了一些进展,而不是在列表结构中回显 PHP 变量,我打印了一个名为 name 的 Javascript 变量,该变量最初设置为 PHP 变量。我还将 sink.Structure 设置放在一个函数中,该函数接受这些值,然后应该重置它们,但事实并非如此。我尝试让函数包含 sink.StructureStore,因为这似乎是渲染列表的原因(也许?这是一个猜测)以及 sink.Structure 数组列表,但似乎没有任何影响已经设置的列表, 请帮忙!