die meiste Zeit nutzte ich ein TextField und ein Image, um eine Suche in meiner Anwendung zu realisieren. Aber jetzt habe ich das SearchField in SAPUI5 gefunden. Mein Problem ist, wenn ich eine Suche durchgeführt habe, wird der Wert innerhalb des Feldes gelöscht. Gibt es einen Weg, dies nicht zu tun? Ich habe die API untersucht, aber ich kann eine solche Methode nicht finden. Oder muss ich es selbst programmieren?SAPUI5 Suchfeld
Antwort
Ich bin mir nicht sicher, warum der Text klärt.
Ihrer Ansicht nach sollten Sie etwas wie dieses:
<SearchField search="handleSearchPressed" />
Und Ihre Controller sollte/könnte wie folgt aussehen:
handleSearchPressed: function (oEvent) {
var sQuery = oEvent.getParameter("query");
if (sQuery === "") {
return;
}
// perform a search
}
Nichts sollte Ihre Search löschen.
Siehe auch die Search Field Samples.
Ok, ich schaue mir meinen Code zweimal an ... Vielleicht stimmt etwas mit dem Code für mein Textfeld nicht und weiß, dass mein Suchfeld jedes Mal gelöscht wird. Vielen Dank für Ihre Antwort. Ich werde bald antworten :) – Chris
Können Sie mir Ihren Controller-Code und den View-Code zeigen? – Bernard
Ich habe es unten hinzugefügt :) – Chris
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);
},
<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);
}
}
}
Dieser Code wird für die Listenelemente arbeiten, um meine Antwort verbindlich dh in "Master Detailvorlage"
Verwendung sollte immer verwenden Methoden get: getSource(), getProperties(), getValue usw. – Pushpender
verweisen diesen Code https://sapui5.netweaver.ondemand.com/sdk/#/sample/ sap.m.sample.ListSelectionSearch/code/List.controller.js – Pushpender
- 1. SAPUI5 - Bindingproblem
- 2. JSDoc mit SAPUI5/OPENUI5
- 3. Sapui5 Swipecontent in Listitem
- 4. SAPUI5: Ausgabe formatiertes Datum
- 5. SAPUI5 - Eine Tabellenspalte ausblenden?
- 6. Datenfluss in sapui5
- 7. sapui5 komplexe Datenbindung
- 8. Refreshing Liste in SAPUI5
- 9. sapui5 Vizframe und IconTabBar
- 10. SAPUI5: Filterung funktioniert nicht
- 11. SAPUI5 Sap.m.Table Dynamische Erstellung
- 12. SAPUI5: Databinding zur Liste
- 13. sapui5 global densityAware
- 14. Countdown für SAPUI5 Element
- 15. Sapui5 Filterinhalt der ComboBox
- 16. Access 2007, Textfeld Suchfeld wie das Facebook-Suchfeld oben rechts
- 17. Suche Symbol in Suchfeld
- 18. Suchfeld schwebt in IE7
- 19. Suchfeld in auswählen
- 20. jQuery - Suchfeld ein-/ausblenden
- 21. Thinking Sphinx Suchfeld
- 22. Modify Select2 Suchfeld
- 23. Suchfeld in eckigen js
- 24. Suchfeld in QToolbar
- 25. Google Map Suchfeld
- 26. Site Link Suchfeld shopify
- 27. Einzeldropdown mit Suchfeld darin
- 28. Suchfeld in Suchcontainer
- 29. Twitter Bootstrap Zeilenfilter/Suchfeld
- 30. Google api Suchfeld Ergebnisnummer
Siehe - habe ich das richtig verstanden, Ihre Frage? – Bernard
Ja, du hast es richtig verstanden, aber es könnte sein, dass ich in meinem Code etwas falsch gemacht habe. Wenn ein MenuItem angeklickt wird, sollte das Suchfeld gelöscht werden. Vielleicht gibt es etwas worng .... – Chris
Möchten Sie das Suchfeld löschen? – Bernard