【问题标题】:How to add suggestionItems template to programmatically created sap.m.Input如何将建议项模板添加到以编程方式创建的 sap.m.Input
【发布时间】:2019-07-17 12:45:39
【问题描述】:

我已经创建了这个sap.m.Input,我需要以编程方式添加建议项模板:

var oInput = new sap.m.Input({
  value: "{Username}",
  visible: {
    path: 'AddVisibleFlag',
    formatter: function(value) {
      return value === "TRUE";
    }
  },
  showSuggestion: true,
  suggest: function(oEvent) {
    //do something here
  },
  suggestionItems: "{/UserSrchHlpSet}",
  // Here i need to add this programmatically:
  //<suggestionItems>
  //<core:Item text="{Username}" />
  //</suggestionItems>
})

我该怎么做?

【问题讨论】:

    标签: javascript xml sapui5


    【解决方案1】:

    您可以使用addSuggestionItem 函数将建议项列表添加到输入中。一个解决方案可以是读取集合/UserSrchHlpSet,并为集合的每个元素创建一个新的core:Item,并将对应的Username 作为文本(oCurrentItem)。然后将项目添加到输入中:

    oInput.addSuggestionItem(oCurrentItem);
    

    【讨论】:

    • 嗯,控件仍然缺少建议项的模板,而不是项本​​身。我仍然面临这个错误:Uncaught (in promise) Error: Missing template or factory function for aggregation suggestionItems of Element sap.m.Input#addInput !
    • 我找到了错误的解决方案。 SuggestionItems 及其模板必须以这种方式添加:var oInput = new sap.m.Input({ showSuggestion: true, suggestionItems: { path: "/UserSrchHlpSet", template: new sap.ui.core.Item({ text: "Username" }) } })Suggest-function 也必须实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多