如何在FilterBar中添加Filtered by?

时间:2018-09-04 09:37:35

标签: sapui5

我正在尝试实现FilterBar。当单击隐藏过滤器栏时,我要显示 Filtered by():过滤器名称1,过滤器2,过滤器3 。类似于以下屏幕截图:

enter image description here

但是我想使用FilterBar控件。

此外,当我向过滤器中添加一些数据时,我没有得到过滤器栏上使用的filters()的数量。 示例:

enter image description here

1 个答案:

答案 0 :(得分:0)

您必须使用GetFiltersWithValue

onInit(){
...
   this.oFilterBar = this.byId("filterbarID);
   this.oFilterBar.registerGetFiltersWithValues(this.fGetFiltersWithValues);
...
}
....
fGetFiltersWithValues: function() {
    var i;
    var oControl;
    var aFilters = this.getFilterGroupItems();

    var aFiltersWithValue = [];
    for (i = 0; i < aFilters.length; i++) {
        oControl = this.determineControlByFilterItem(aFilters[i]);
        if (oControl && oControl.getValue && oControl.getValue()) {
            aFiltersWithValue.push(aFilters[i]);
        }
    }
    return aFiltersWithValue;
},