点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
我点击了以下链接以在门户网站中填充用户图像。
https://blogs.sap.com/2016/12/02/custom-user-image-in-fiori-2.0/#comment-402737
但是,我遇到了一个问题,即图像能够在几秒钟内加载,然后在启动板完成加载后消失。
下面是我的component.js完整代码
sap.ui.define([ " sap/ui/core/Component", " sap/m/Button", "树汁/米/巴", " sap/m/MessageToast" ],功能(组件,按钮,栏,MessageToast){ var sComponentName =" nv.flp.plugin1"; 返回Component.extend(" nv.flp.plugin1.Component",{ 元数据:{ "清单":" json" }, _getRenderer:函数(){ var that = this, oDeferred =新的jQuery.Deferred(), 渲染器; that._oShellContainer = jQuery.sap.getObject(" sap.ushell.Container"); 如果(!that._oShellContainer){ oDeferred.reject( "非法状态:shell容器不可用;此组件必须在统一的shell运行时上下文中执行。" }其他{ oRenderer = that._oShellContainer.getRenderer(); 如果(oRenderer){ oDeferred.resolve(oRenderer); }其他{ //渲染器尚未初始化,请监听rendererCreated事件 that._onRendererCreated =函数(oEvent){ oRenderer = oEvent.getParameter(" renderer"); 如果(oRenderer){ oDeferred.resolve(oRenderer); }其他{ oDeferred.reject("非法状态:shell渲染器在收到'rendererLoaded'事件后不可用。"); } }; that._oShellContainer.attachRendererCreatedEvent(that._onRendererCreated); } } 返回oDeferred.promise(); }, 初始化:函数(){ //var that = this; var fgetService = sap.ushell && sap.ushell.Container && sap.ushell.Container.getService; this.oCrossAppNavigator = fgetService && fgetService(" CrossApplicationNavigation"); this._getRenderer()。fail(function(sErrorMessage){ jQuery.sap.log.error(sErrorMessage,未定义,sComponentName); }) .done(function(oRenderer){ var sRootPath = jQuery.sap.getModulePath(sComponentName); var imageSource = sRootPath +"/img/icon1.png"; var smallImage = imageSource +"?size = SMALL"; //下面是左上方的小图标 $("#meAreaHeaderButton")。html(" <img style ='max-width:100%; height:auto;'src=" + smallImage +">")); //下面是我区域 var GreaterImage = imageSource +"?size = BIG"; $("。sapUshellMeAreaUserImage")。html(" <img style ='最大宽度:100%;高度:自动;位置:绝对;左侧:-0px;顶部:-0px;'src=" + GreaterImage +">"); }); }, 出口:功能(){ 如果(this._oShellContainer && this._onRendererCreated){ this._oShellContainer.detachRendererCreatedEvent(this._onRendererCreated); } }, 之后:function(){ var sRootPath = jQuery.sap.getModulePath(sComponentName); var imageSource = sRootPath +"/img/icon1.png"; $("。sapUshellMeAreaUserImage")。html(" <img style ='max-width:100%; height:auto;'src=" + imageSource +">")); } }); });
有人遇到过这个问题吗?
谢谢。
此致
本
嗨,
这有帮助吗?
https://博客。 sap.com/2018/08/05/displaying-user-profile-picture-in-cloud-portal /
干杯
你好本
您快完成了。 而不是通过以下语句直接更改html代码:
$("#meAreaHeaderButton")。html(" <img style ='最大宽度:100%; height:auto;'src=" + imageSource +">");
您需要更改图标型号:
sap.ui.getCore()。byId(" meAreaHeaderButton")。setIcon(imageSource);
然后,当您导航到应用程序或其他页面时,图像不会消失。
最好的问候
Michal
嗨,
尝试超时:
setTimeout(function(){
//下面是左上方的小图标
$("#meAreaHeaderButton")。html(" <img style ='最大宽度:100%; height:auto;'src=" + smallImage +">");
},500);
您好Shanmugam,
我应用了与您在线程中提到的逻辑相同的逻辑,但是脚本引发了错误。
还有其他方法可以从公司门户中选择照片。这是我使用的代码。 在此先感谢!
谢谢
Ranjith
嗨@ Ivan Iastremskyi ,
相同的结果。 页面加载完成后,图像仍会消失。
一周热门 更多>