需要使用键值

时间:2016-09-19 10:31:59

标签: sapui5

所以我有一个看起来像这样的json模型:

results = [
  {
    Answer: "N",
    AnswerSelected: "Y",
    Display: "X",
    ParentOption: "",
    ParentQuestion: "",
    QuestionId: "quest1",   //<-- The key for the object
    QuestionSeq: "001",
    QuestionText: "this is question one?",
  },
  ...
]

所以在数组中我有5个项目(索引0,1,2,3和4)。我希望能够通过提供与所有这些信息不同的questionId来编辑一些信息。因此,问题ID将是模型的关键,但是我是否可以循环遍历模型,或者是否有更快的方法来获得结果否然后修改它?

1 个答案:

答案 0 :(得分:0)

你必须循环:(

找到项目的索引并在绑定路径中使用它:/0/QuestionText。或者执行view.bindElement("/"+index);之类的操作,在视图中使用相对绑定路径(不带前导/)。

根据您的应用,另一种方式可能是将模型数据转换为如下地图:

var converted = {};
results.forEach(function(item){ converted[item.QuestionId] = item; });
myJsonModel.setData(converted);

然后,您可以使用/001/QuestionText之类的绑定路径。

请注意,在搜索密钥或转换数据之前,必须等待所有情况下都要加载模型。您可以使用Model.requestCompleted事件来完成此操作。