Ovewriting Multicombobox,用于在SAPUI5 v1.38.39中添加ShowSecondaryValues

2020-08-24 19:21发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,专家,我想写一个MultiComboBox控件添加一个ShowSecondaryValues参数(例如在ComboBox控件中),但是我遇到了问题。 一旦我写完MultiComboBox控件,我就会得到一个404:

sap-ui-core.js:49 GET https://webidetesting0496404-a392f21b1.dispatcher.hana.ondemand.com/resources/sap/m/items.js 404


是的,在sap/m中没有items.js,但是它与普通的MultiComboBox相同,并且可以与MultiComboBox一起使用。
这是我观点中有关的部分:

 
 <!-一些东西->
 /Organizations,templateShareable:true"
     }"
     showSecondaryValues =""">
     <项目>
         
     
 
 <!-一些东西->
  

还根据我在 https://sapui5.hana.ondemand.com/上阅读的内容 在用于覆盖控件MultiComboBox的文档中,我将MultiComboBoxSecondaryValue创建到webapp/control中,如下所示:

 sap.ui.define([
     " sap/m/MultiComboBox"
   ],
   函数(oMultiComboBox){
     "使用严格";
     var MultiComboBox = oMultiComboBox.extend(" custom.project.control.MultiComboboxSecondaryValue",{
 元数据:{

 },
 渲染器:{

 }
   });
   返回MultiComboBox;
 });
 

如果我对它为空的正确理解,就像常规的MultiComboBox控件一样,但是它已经返回了错误 sap-ui-core.js:49 GET https://webidetesting0496404-a392f21b1.dispatcher.hana.ondemand.com/ resources/sap/m/items.js 404 ,我假设此错误来自 ... ,且路径在控件位于webapp/control中而不是路径中 以sap/m为单位,但我真的不确定,如果可以,我不知道为什么它不起作用:(我想在下面的控件中进行类似的设置。

如果有人知道如何解决,我将非常高兴,在此先感谢您:)

 sap.ui.define([
     " sap/m/MultiComboBox"
   ],
   函数(oMultiComboBox){
     "使用严格";
     var MultiComboBox = oMultiComboBox.extend(" custom.project.control.MultiComboboxSecondaryValue",{
 元数据:{
             库:" sap.m",
 属性:{
                 showSecondaryValues:{
 类型:"布尔值",
                     组:"其他",
 defaultValue:假
                 }
             }
 },
 渲染器:{

 }
   });
   MultiComboBox .prototype.setShowSecondaryValues = function(bAdditionalText){
       this.setProperty(" showSecondaryValues",bAdditionalText,true);
       var oList = this.getList();
       如果(oList){
           oList.setShowSecondaryValues(bAdditionalText);
       }
       返回这个
   };
   返回MultiComboBox;
 }); 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,专家,我想写一个MultiComboBox控件添加一个ShowSecondaryValues参数(例如在ComboBox控件中),但是我遇到了问题。 一旦我写完MultiComboBox控件,我就会得到一个404:

sap-ui-core.js:49 GET https://webidetesting0496404-a392f21b1.dispatcher.hana.ondemand.com/resources/sap/m/items.js 404


是的,在sap/m中没有items.js,但是它与普通的MultiComboBox相同,并且可以与MultiComboBox一起使用。
这是我观点中有关的部分:

 
 <!-一些东西->
 /Organizations,templateShareable:true"
     }"
     showSecondaryValues =""">
     <项目>
         
     
 
 <!-一些东西->
  

还根据我在 https://sapui5.hana.ondemand.com/上阅读的内容 在用于覆盖控件MultiComboBox的文档中,我将MultiComboBoxSecondaryValue创建到webapp/control中,如下所示:

 sap.ui.define([
     " sap/m/MultiComboBox"
   ],
   函数(oMultiComboBox){
     "使用严格";
     var MultiComboBox = oMultiComboBox.extend(" custom.project.control.MultiComboboxSecondaryValue",{
 元数据:{

 },
 渲染器:{

 }
   });
   返回MultiComboBox;
 });
 

如果我对它为空的正确理解,就像常规的MultiComboBox控件一样,但是它已经返回了错误 sap-ui-core.js:49 GET https://webidetesting0496404-a392f21b1.dispatcher.hana.ondemand.com/ resources/sap/m/items.js 404 ,我假设此错误来自 ... ,且路径在控件位于webapp/control中而不是路径中 以sap/m为单位,但我真的不确定,如果可以,我不知道为什么它不起作用:(我想在下面的控件中进行类似的设置。

如果有人知道如何解决,我将非常高兴,在此先感谢您:)

 sap.ui.define([
     " sap/m/MultiComboBox"
   ],
   函数(oMultiComboBox){
     "使用严格";
     var MultiComboBox = oMultiComboBox.extend(" custom.project.control.MultiComboboxSecondaryValue",{
 元数据:{
             库:" sap.m",
 属性:{
                 showSecondaryValues:{
 类型:"布尔值",
                     组:"其他",
 defaultValue:假
                 }
             }
 },
 渲染器:{

 }
   });
   MultiComboBox .prototype.setShowSecondaryValues = function(bAdditionalText){
       this.setProperty(" showSecondaryValues",bAdditionalText,true);
       var oList = this.getList();
       如果(oList){
           oList.setShowSecondaryValues(bAdditionalText);
       }
       返回这个
   };
   返回MultiComboBox;
 }); 
付费偷看设置
发送
1条回答
宇峰Kouji
1楼 · 2020-08-24 19:28.采纳回答

我通过这种方法找到了另一种解决方案:

 MultiComboBox.prototype._mapItemToListItem = function(oItem){
 var oListItem,sListItem,sListItemSelected,sAdditionalText;
 var oRenderer = this.getRenderer();

 如果(!oItem){
 返回null;
 }
 sAdditionalText =(oItem.getAdditionalText && this.getShowSecondaryValues())吗?  oItem.getAdditionalText():"";

 sListItem = oRenderer.CSS_CLASS_MULTICOMBOBOX +" Item";
 sListItemSelected =(this.isItemSelected(oItem))吗?  sListItem +" Selected":"";

 oListItem = new sap.m.StandardListItem({
 类型:sap.m.ListType.Active,
 信息:sAdditionalText,
 可见:oItem.getEnabled()
 })。addStyleClass(s​​ListItem +"" + sListItemSelected);

 oListItem.setTooltip(oItem.getTooltip());

 oItem.data(oRenderer.CSS_CLASS_COMBOBOXBASE +" ListItem",oListItem);
 oListItem.setTitle(oItem.getText());

 如果(sListItemSelected){
 var oToken = new sap.m.Token({
 键:oItem.getKey()
 });
 oToken.setText(oItem.getText());
 oToken.setTooltip(oItem.getText());

 oItem.data(oRenderer.CSS_CLASS_COMBOBOXBASE +" Token",oToken);
 this._oTokenizer.addToken(oToken,true);
 }

 this.setSelectable(oItem,oItem.getEnabled());
 this._decorateListItem(oListItem);
 返回oListItem;
 };
 

一周热门 更多>