Smart Filter Bar中MultiInput的默认值

时间:2018-06-13 13:31:12

标签: sapui5

我对整个UI5和Fiori世界都很陌生,也许这是一个简单的问题。

到目前为止,我已使用SAP Web IDE创建了一个fiori-elements列表报告。

Example Elements Application

在我的智能过滤器栏中显示了一些MultiInput字段来过滤数据(请参阅示例中的:Category字段)。

对于类别字段,我可以选择包含并设置一个值,然后在我单击确定之后,将一个标记放在字段内,我可以过滤数据。

现在我想预填充此字段,因此用户不必每次都输入它。

我尝试通过扩展控制器并在onBeforeRendering

中添加新令牌来以编程方式添加令牌
onBeforeRendering: function() {`
    var multiInput = sap.ui.getCore().byId("...");
    multiInput.addToken(new sap.m.Token({text: "myDefaultFilterValue"}));
    // tried text: "*myDefaultFilterValue*" (contains)
}

正如我所料,令牌是可见的,但如果我点击" Go"应用程序的行为就像没有设置过滤器一样。

我是否必须调用某种更新机制或以某种方式使用本地注释?

2 个答案:

答案 0 :(得分:0)

变体管理可能是您的问题的解决方案: 来自Fiori设计指南https://experience.sap.com/fiori-design-web/variant-management/

===========

<强>简介

Variants存储已在过滤器栏中定义的过滤器设置。过滤器设置包括过滤器参数,选择字段和布局。此控件使用户可以加载,保存和更改变体。在某些情况下,表格设置也会保存在变体中。

在表格的上下文中,此控件用于保存,管理和加载表格设置,包括布局,列可见性,排序和分组。

智能变体管理可保存过滤器设置和表格布局。它创建一个包含所有控件的页面变体。该按钮位于页眉栏内,表级别无法进行二级管理。

<强>用法

在以下情况下使用变体管理控件: 用户需要保存并加载不同的过滤器设置以查找相关数据。 用户需要保存和加载不同的布局(例如,表格)以在不同视图中显示数据。

如果用户需要保存页面,请使用智能变体管理,包括过滤器设置和表格布局。

===========

另请参阅此博客https://blogs.sap.com/2017/03/23/annotating-and-extending-fiori-element-applications-list-report-part-3/

===========

请注意,我们可以使用其他设置选项,包括控制列表报告的变体管理。变体管理允许在使用应用程序时存储用户设置的快照,例如智能过滤器栏中的过滤器或智能表中的可见列。

默认情况下,智能过滤条和智能表各有各自的变体(参见上文,两者都设置为“标准”)。如果我们使用“smartVariantManagement”设置:true,我们现在将为列表报告提供统一的变体管理区域,其中智能过滤条和智能表的变体一起保存。

===========

答案 1 :(得分:0)

您可以尝试以下解决方案,此处会将键值发送到后端,并向用户显示文本值。

 var multiInput = sap.ui.getCore().byId("...");
 var otoken = new sap.m.Token({ 
            key: 'myDefaultFilterValue', 
            text: 'myDefaultFilterValue'
        });
 multiInput.setTokens([otoken]);

希望这对您有所帮助。