我在一个对话框中有一个过滤条(sap.ui.comp.filterbar.FilterBar),这个对话框已经打开了几次,我想在打开之前清除过滤条。
但是如果我使用filter.getAllFilterItems(),它会返回一个FilterItems列表,其中聚合“Controls”为空。
<fb:FilterBarclear="onClear" showClearOnFB="true" search="onSearch" advancedMode="true" filterBarExpanded="false">
<fb:filterGroupItems>
<fb:FilterGroupItem groupName="G1" name="BUKRS" label="{i18n>lblBukrs}">
<fb:control>
<Input type="Text" />
</fb:control>
</fb:FilterGroupItem>
</fb:FilterBarclear>
我找到了一个返回所有控件的内部方法(_retrieveCurrentSelectionSet),但我正在寻找更好的解决方案。
答案 0 :(得分:0)
您可以从控制器中实例化片段,如:
var fragment = sap.ui.xmlfragment("fragmentId", "path.to.fragment.xml", controllerInstance);
这将允许您随时抓取特定的片段控件,如下所示:
var fragmentControlInstance = sap.ui.core.Fragment.byId("fragmentId", "controlIdYouAreLookingFor");
然后应该可以做fragmentControlInstance.setValue(&#34;&#34;)或者你喜欢用来清除的任何内容
API文档也可以为您提供帮助。
编辑 - 拼写
编辑2 - 澄清
此处的文档也应该有所帮助:https://openui5.hana.ondemand.com/#/topic/8b325518a2ae48ee91eb2dacda1d1420.html