2020-09-24 04:52发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
亲爱的
我正在开发一个使用flexColumnLayout的主从应用程序。 我要根据指南(https://ux.wdf.sap.corp/fiori-design-web/busy-handling/)添加忙处理:在加载元数据时将页面设置为忙,而在加载后不忙。 我不知道在哪个函数中调用setBusy()。 你有什么主意吗?
非常感谢您:)
最好的问候
Y
您好,我认为您刚刚共享的链接仅在您的Intranet上可用;)
所以,让我们从头开始。 每个扩展sap.ui.core.Control的控件(可能是控件和自定义控件的99%;)都将允许您处理繁忙状态。
如果需要,可以按以下方式处理页面的全局繁忙状态:
显示繁忙指示器
sap.ui.core.BusyIndicator.show(<毫秒数>);
隐藏忙碌指示器
sap.ui.core.BusyIndicator.hide();
通常,知道何时必须显示/隐藏繁忙指示器的经验法则是:
我想可以在Extranet上访问此链接:)
https://experience.sap.com/fiori -design-web/忙碌处理/
因此,第一部分很容易,您只需要
sap.ui.core.BusyIndicator.show();
在您的Component.js上
对于第二方,也许我需要知道您为什么要等待元数据调用。 通常,在元数据中,您没有真实的数据,而只有元数据,因此不会向用户提供要显示的内容。
您能再说明一下您的情况吗?
无论如何,您可以在metadataLoaded事件上隐藏繁忙的加载。 您只需要使用以下API将其附加到oDataModel(v2): https://openui5.hana.ondemand.com/#/api/sap.ui.model.odata.v2.ODataModel/methods/attachMetadataLoaded
你好Emanuele,
感谢您的回复:P
我想在启动应用程序时将整个页面设置为忙碌,并在加载odata元数据后将其设置为空闲。元数据请求会自动调用。 它与您知道调用它的odata常规调用不同。
您好王应
首先,您需要找到要具有繁忙指示符的包装器。 如果要使用表格:
var table = this.getView()。byId(" tableId");
table.setBusy(true);
getSomeDataFunc:function(){ 返回新的Promise(function(resolve,reject){ var oModel = new sap.ui.model.odata.ODataModel({ serviceUrl:"/img/sap/opu/odata/sap/SERVICE_NAME/", json:是 }); oModel.read(sPath,null,null, 函数(oData){ //我得到了数据并返回了 resolve(oData); }, 函数(oError){ //出了点问题,这是错误消息 reject(oError); }); } } this.getSomeDataFunc()。then(function(data){ //我现在知道数据提取已完成,我将做我的竞标! table.setBusy(false); })
如果在加载视图时获取数据,则要在onInit中执行此操作:function(){}您还希望获取视图ID而不是表ID。
我在外部网上找到了链接:https://experience.sap.com/fiori-design-web/busy-handling /
场景是:"首先,加载UI描述和元数据。这是基本功能UI的最低要求。在获得此数据之前,需要阻止应用程序UI。加载元数据后,我们 可以在适当的情况下部分解除对UI的阻塞。将主列表和详细信息区域设置为忙碌状态,直到数据被加载为止。一旦主列表区域的数据可用,便会删除忙碌状态。 对于详细信息区域的异步加载,其繁忙状态是单独设置的。"
最多设置5个标签!
您好,我认为您刚刚共享的链接仅在您的Intranet上可用;)
所以,让我们从头开始。 每个扩展sap.ui.core.Control的控件(可能是控件和自定义控件的99%;)都将允许您处理繁忙状态。
如果需要,可以按以下方式处理页面的全局繁忙状态:
显示繁忙指示器
隐藏忙碌指示器
通常,知道何时必须显示/隐藏繁忙指示器的经验法则是:
我想可以在Extranet上访问此链接:)
https://experience.sap.com/fiori -design-web/忙碌处理/
因此,第一部分很容易,您只需要
在您的Component.js上
对于第二方,也许我需要知道您为什么要等待元数据调用。 通常,在元数据中,您没有真实的数据,而只有元数据,因此不会向用户提供要显示的内容。
您能再说明一下您的情况吗?
无论如何,您可以在metadataLoaded事件上隐藏繁忙的加载。 您只需要使用以下API将其附加到oDataModel(v2): https://openui5.hana.ondemand.com/#/api/sap.ui.model.odata.v2.ODataModel/methods/attachMetadataLoaded
你好Emanuele,
感谢您的回复:P
我想在启动应用程序时将整个页面设置为忙碌,并在加载odata元数据后将其设置为空闲。元数据请求会自动调用。 它与您知道调用它的odata常规调用不同。
您好王应
首先,您需要找到要具有繁忙指示符的包装器。
然后,您可以在表上设置忙碌指示器:如果要使用表格:
然后在第二部分中,您需要知道呼叫完成的时间。 有一些方法可以使人们知道这一点,比如说有希望。
如果这是一个诺言/您可以创建一个诺言,则可以执行以下操作:
如果在加载视图时获取数据,则要在onInit中执行此操作:function(){}您还希望获取视图ID而不是表ID。
我在外部网上找到了链接:https://experience.sap.com/fiori-design-web/busy-handling /
场景是:"首先,加载UI描述和元数据。这是基本功能UI的最低要求。在获得此数据之前,需要阻止应用程序UI。加载元数据后,我们 可以在适当的情况下部分解除对UI的阻塞。将主列表和详细信息区域设置为忙碌状态,直到数据被加载为止。一旦主列表区域的数据可用,便会删除忙碌状态。 对于详细信息区域的异步加载,其繁忙状态是单独设置的。"
一周热门 更多>