SAPUI5 SearchField

时间:2016-05-06 08:06:56

标签: search sapui5 clear

我使用TextField和Image的时间最多,以便在我的应用程序中实现搜索。但现在我在SAPUI5中找到了SearchField。我的问题是,当我完成搜索时,该字段的值将被清除。有没有办法不这样做?我研究了API,但我找不到这样的方法。或者我需要自己编码吗?

3 个答案:

答案 0 :(得分:0)

我不确定文本为什么要清除。

在你看来,你应该有这样的东西:

<SearchField search="handleSearchPressed" />

你的控制器应该/看起来像这样:

handleSearchPressed: function (oEvent) {
    var sQuery = oEvent.getParameter("query");
    if (sQuery === "") {
        return;
    }
    // perform a search
}

什么都不应该清除你的SearchField 另请参阅Search Field Samples

答案 1 :(得分:0)

Try this code <SearchField liveChange="onSearching" width="100%" />
In Controller
onSearching:function(oEvt)
        {
            var filters = [];
            var sQuery = oEvt.getSource().getValue();
             if (sQuery && sQuery.length > 0){
               var filter = new sap.ui.model.Filter
                     ("Uname", sap.ui.model.FilterOperator.StartsWith, sQuery);
               filters.push(filter);
             }
             var list = this.getView().byId("idList");
             var binding = list.getBinding("items");
             binding.filter(filters);
        },

答案 2 :(得分:0)

<SearchField id="searchfield" liveChange="liveSearch" placeholder="search"/>
<List id="list" select=""onSelect/>

liveSearch : function(oEvent)
var olist = this.getView().byId("list);
var sValue = oEvent.oSource.mProperties.value.toLowerCase();
var oItems = olist.getItems();

for(var i=0; i<oItems.length; i++){
  
  var value1 = olist.mAggregations.oItems[i].mProperties.title;
  var value2 = olist.mAggregations.oItems[i].mProperties.description;
  
      if(value1.indexOf(sValue)>-1||value2.indexOf(sValue)>-1){
        oItems[i].setVisible(true);
      }
   }
}

此代码适用于列表项绑定,即“主要详细信息模板”