代码之家  ›  专栏  ›  技术社区  ›  Francesco

智能筛选器栏中多输入的默认值

  •  1
  • Francesco  · 技术社区  · 7 年前

    我对整个ui5和fiori世界还很陌生,也许这是个简单的问题。

    到目前为止,我已经使用sap web ide创建了一个fiori元素列表报告。

    Example Elements Application

    在我的智能筛选栏中显示了几个多输入字段来筛选数据(请参见示例中的:category字段)。

    对于category字段,我可以选择contains并设置一个值,单击ok之后,在字段中放置一个标记,我可以过滤数据。

    现在我想预先填充这个字段,这样用户就不必每次都输入它了。

    我试图通过扩展控制器以编程方式添加一个令牌,并在 onBeforeRendering

    onBeforeRendering: function() {`
        var multiInput = sap.ui.getCore().byId("...");
        multiInput.addToken(new sap.m.Token({text: "myDefaultFilterValue"}));
        // tried text: "*myDefaultFilterValue*" (contains)
    }
    

    正如我所期望的那样,令牌是可见的,但是如果我单击“go”,应用程序的行为就像没有设置过滤器一样。

    我需要调用一些更新机制还是以某种方式使用本地注释?

    2 回复  |  直到 7 年前
        1
  •  0
  •   SAP Fiori Crew    7 年前

    变体管理可能是解决问题的方法: 从FIORI设计指南 https://experience.sap.com/fiori-design-web/variant-management/ :

    国际贸易协会

    简介

    变量存储已在筛选器栏中定义的筛选器设置。过滤器设置包括过滤器参数、选择字段和布局。此控件允许用户加载、保存和更改变量。在某些情况下,表设置也保存在变量中。

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

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

    使用

    如果出现以下情况,请使用变体管理控制: 用户需要保存和加载不同的筛选设置以查找相关数据。 用户需要保存和加载不同的布局(例如,表)以在不同视图中显示数据。

    如果用户需要保存页面(包括筛选器设置和表布局),请使用智能变量管理。

    国际贸易协会

    也请看这个博客 https://blogs.sap.com/2017/03/23/annotating-and-extending-fiori-element-applications-list-report-part-3/ :

    国际贸易协会

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

    默认情况下,智能筛选栏和智能表都有自己的变量(见上文,其中两者都设置为“标准”)。如果我们使用设置“smart variant management”:true,那么现在我们的列表报表将有一个统一的变量管理区域,其中智能筛选栏和智能表的变量都保存在一起。

    国际贸易协会

        2
  •  0
  •   Omkar Patil    6 年前

    您可以尝试下面的解决方案,这里的键值将发送到后端,文本值将显示给用户。

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

    希望这对你有帮助。