gpt4 book ai didi

sencha-touch - Sencha Touch 1 的嵌套列表无限循环

转载 作者:行者123 更新时间:2023-12-04 05:24:48 24 4
gpt4 key购买 nike

我是 Sencha Touch 和网络编程的新手。我正在尝试显示一个嵌套列表,并且只在循环中一遍又一遍地获取第一级项目。

我已经查看了文档和厨房水槽示例,但我就是无法正确理解。我将非常感谢您的提示!

这是我的代码:

 Ext.regModel('Site', {
fields: [{
name: "sitename",
type: "string"
}, {
name: "last_connection",
type: 'auto'
}]
});


Ext.setup({
icon: 'icon.png',
tabletStartupScreen: 'tablet_startup.png',
phoneStartupScreen: 'phone_startup.png',
glossOnIcon: false,
onReady: function() {

var store = new Ext.data.TreeStore({
model: 'Site',
proxy: {
type: 'ajax',
url: 'network.json',
reader: {
type: 'json',
root: 'items'
}
}
});


var nestedList = new Ext.NestedList({
fullscreen: true,
title: 'Netzwerk',
displayField: 'sitename',
plugins: [new Ext.LeafSelectedPlugin()],
// add a / for folder nodes in title/back button
getTitleTextTpl: function() {
return '{' + this.displayField + '}<tpl if="leaf !== true">/</tpl>';
},
// add a / for folder nodes in the list
getItemTextTpl: function() {
return '{' + this.displayField + '}<tpl if="leaf !== true">/</tpl>';
},

store: store
});
}
});

以及json文件的结构(仅以一个节点为例):

{
"items": [{
"id": "11",
"sitename": "Site A",
"items": [{
"id": "11",
"sitename": "Endpoint 1",
"last_connection": "2012-03-02T10:03:22+0100",
"ping_time": 63,
"leaf": true
}, {
"id": "12",
"sitename": "Endpoint 2",
"last_connection": "2012-03-02T10:03:22+0100",
"ping_time": 57,
"leaf": true
}],
"last_connection": "2012-03-02T10:03:22+0100",
"ping_time": 57
}]
}

谢谢!

最佳答案

我知道这篇文章有点老了,但如果它已经被回答了,它会节省我 2 个“长”小时的生命,所以这里是:

我发现我缺少 TreeStore 中的 defaultRootProperty。根据您的 JSON,您需要将此属性设置为 items

这是您的 TreeStore 的样子:

var store = new Ext.data.TreeStore({
model: 'Site',
defaultRootProperty: 'items',
proxy: {
type: 'ajax',
url: 'network.json',
reader: {
type: 'json',
root: 'items'
}
}
});

关于sencha-touch - Sencha Touch 1 的嵌套列表无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9556062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com