【发布时间】:2011-10-13 10:41:21
【问题描述】:
感谢大家为我开始使用 Sencha Touch 提供的帮助和支持。现在我进入了一些复杂的业务场景处理,我觉得处理起来更加困难。这是我的业务需求。
成功登录应用程序后,sencha 客户端会收到 JSON 对象响应,其中包含所有可用的产品和代码。此外,states 标签包含排除产品列表。我在下面粘贴的 JSON 格式示例。
我必须有一个表单,我必须在其中显示状态和产品下拉框。 UI部分很好。我已经完成了。 但现在复杂的是,当我选择一个州时,我必须从可用产品总数中排除产品列表。
我使用 Ajax 请求 和 decode 方法来解码 JSON 响应。现在我将完整的 JSON 作为对象。
我有 2 个商店,一个用于产品列表,另一个用于状态列表。 我不需要我的任何商店与服务器同步,因为这会增加数据使用量。
选项控制的监听器也完成了,现在我该如何操作 JSON 并动态更新产品商店。请提出建议。
以下是 JSON 响应示例:
{
"defaultProducts": {
"product": [
{
"code": "pro1",
"name": "Product AA"
}, {
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "uni1-sc",
"name": "Product DD"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1-sc",
"name": "TCO - Enhanced"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"states": {
"state": [
{
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"code": "AL",
"name": "Alabama"
}, {
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"code": "AK",
"name": "Alaska"
}, {
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "uni1-sc",
"name": "Product DD"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1-sc",
"name": "TCO - Enhanced"
}
]
},
"code": "AZ",
"name": "Arizona"
}, {
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"code": "AR",
"name": "Arkansas"
}
]
},
"licensedTo": "mycomp.com"
}
请指导我可以用来实现此类复杂场景的任何其他逻辑。
【问题讨论】:
-
请不要重定向到链接sencha.com/forum/…。事实上,这只是我的帖子。
标签: sencha-touch extjs