首页 > 解决方案 > SAPUI5 Variant 键保存奇怪的行为

问题描述

我正在尝试使用 sap.ushell.Container 的个性化服务在 SAPUI5 中实现变体管理。我已经编写了保存、管理(删除、重命名)和从下拉列表中选择变体的函数。但是,当我在下面提到的方法中选择一个变体时,我看到了奇怪的行为。

onSelectVariant: function (oEvent) {
    var sSelectedVariantKey = oEvent.getParameter('key');

假设我有现有的变体“A1”、“A2”和“A3”。当我将新变量另存为具有新值的新变体时(我们称其为“X1”),就会创建新变体。然后我从下拉列表中选择另一个已经存在的变体(A1 或 A2 或 A3),我看到相应的值。现在我再次选择新创建的变体 X1,但我没有看到新值。

当我调试上述方法时,我看到对于所有现有变体,oEvent.getParameter('key')返回变体索引,如 0、1、2、3 等,但对于新创建的变体 X1,它返回值 'sv1579082806311',因此返回在变体集中找不到它

oPersonalizationVariantSet.getVariant(sVariantKey)

然后它不显示新值。

如果我再次运行该程序,我会看到先前创建的变体 X1 现在显示正确的值,因为该方法oEvent.getParameter('key')返回索引而不是“sv ....”。但如果我现在创建一个新的变体 X2,X2 也会出现同样的问题。

我在云 WebIDE 上运行应用程序,而不是在 FIORI 启动板上。

有人可以帮助我在保存变体时可能出了什么问题吗?

谢谢

Br Nilesh Puranik

标签: sapui5variant

解决方案


我最近遇到了完全相同的问题。我认为这是 VariantManagement 控件中的错误。您可以在 openui5 github 项目中创建一个问题。


推荐阅读