gpt4 book ai didi

javascript - Sencha 触摸2 : Populating Tree Store with JSON data

转载 作者:行者123 更新时间:2023-12-03 12:39:27 25 4
gpt4 key购买 nike

我有一个绑定(bind)到树存储的嵌套 View 。

如果我在商店中使用静态数据, View 就会填充这些数据。

但是,如果我尝试通过 ajax 代理(JSON)加载商店,我可以看到商店已获取数据,但 View 不会填充此数据!

我已经被这个问题困扰好几天了。帮忙!

树木商店

Ext.define('MyApp.store.CategoriesNested', {
extend: 'Ext.data.TreeStore',

config: {
model: 'MyApp.model.CategoriesNested',
defaultRootProperty: 'data',
autoLoad: true,
autoSync: true,
data:[{
"category_id": 1,
"text": 'Clothing',
"data":[{
"category_id": 11,
"text": 'Tops and Tees',
"leaf":true,
}]
}, {
"category_id": 2,
"text": 'Footwear',
"data":[{
"category_id": 22,
"text": 'Casual Shoes',
"leaf":true,
},{
"category_id": 23,
"text": 'Sports Shirts',
"leaf":true,
}]
}],
}
});

以上效果很好。但如果我尝试从 JSON 加载,则会填充商店(使用 chrome Web 检查器检查商店)。但 View 并没有反射(reflect)这一点!

Ext.define('MyApp.store.CategoriesNested', {
extend: 'Ext.data.TreeStore',

config: {
model: 'MyApp.model.CategoriesNested',
autoLoad: true,
autoSync: true,
proxy:{
type: 'ajax',
url:'categories.json',
reader:{
type: 'json',
rootProperty: 'data'
}
}
}
});

categories.json

{          
"data": [{
"category_id": 1,
"text": 'Clothing',
"data":[{
"category_id": 11,
"text": 'Tops and Tees',
"leaf":true,
}]
}, {
"category_id": 2,
"text": 'Footwear',
"data":[{
"category_id": 22,
"text": 'Casual Shoes',
"leaf":true,
},{
"category_id": 23,
"text": 'Sports Shirts',
"leaf":true,
}]
}]

}

我做错了什么?

编辑

好吧,我意识到如果这个嵌套列表直接在视口(viewport)上设置,那么它就会显示数据。

但是,目前的结构是这样的:

视口(viewport) > 选项卡面板 > 导航 View > 面板 > 嵌套列表

当我在商店中对数据进行硬编码时,嵌套列表再次显示数据。但是当我读取 JSON 时,它不显示数据。但是,如果我尝试直接在视口(viewport)上设置 View ,则会显示数据!

为什么会发生这种情况?

最佳答案

好的解决了。我应用了配置布局:“适合”对于父面板。这有效。

关于javascript - Sencha 触摸2 : Populating Tree Store with JSON data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23584279/

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