【问题标题】:How to setBusy(false) Indicator SAPUI5 for all controls at one time如何一次为所有控件设置Busy(false)Indicator SAPUI5
【发布时间】:2023-03-21 22:25:01
【问题描述】:

我们要注意所有正在运行的繁忙指示器将在一段时间后停止。我们怎么能做到这一点?目前我们对每个控件使用 setBusy(false)。 非常感谢!

【问题讨论】:

    标签: sapui5 busyindicator


    【解决方案1】:

    我认为你应该改变你的整体方法,因为它不是一个好的 UI/UX 模式。

    首先,为什么您的视图中有多个忙控件?例如,如果您在列表中加载记录,您只是将列表设置为繁忙,而不是整个页面。如果您正在提交表单数据,则您只设置了表单而不是其他所有内容。

    其次,你为什么说“目前我们对每个控件都使用 setBusy(false)”?您应该在特定事件之后删除忙碌状态。例如,当您完成加载列表的结果或获得表单提交的结果时。

    无论如何,要解决您当前的问题,最好的方法是使用带有临时 JSON 模型的 XML 绑定。

    你可以有一个 JSON 模型,内容如下:

    {
        busy: false
    }
    

    你将控件的busy属性绑定到youtJSONModel>/busy,此时你需要将控件设置为busy状态你可以做this.getView().getModel("youtJSONModel").setProperty("/busy", true);,当你完成操作后你可以做this.getView().getModel("youtJSONModel").setProperty("/busy", false);

    【讨论】:

    • 我们确实有很多视图,并且每个视图(页面控件)通常都有一个繁忙的指示器,它将在每个加载过程之后进行处理。但有时在某些情况下,加载过程处于挂起状态或未按预期获取错误。仅针对这种情况,我想知道有一种方法可以将所有指标设置为 false。
    • 明白了,无论如何我的回答是解决你的问题。您需要将视图的忙碌状态绑定到模型的值并在需要时更改它(正如我在上面的答案中解释的那样)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 2014-12-27
    • 2021-07-31
    • 2020-01-27
    相关资源
    最近更新 更多