期待される動作を選択強制sap.m.input:ユーザーは、少なくとも入力したときに開始し、入力フィールド上のは、すべての提案を示し、提案に
1)ユーザーのクリックと
2)フィルタリング表示されているすべての値のリストを3文字
3)提案から選択するように強制された場合(ただし、提案リストにない値は提供できません)。
これまでのところ、私は、次のしているビュー内のコントロール:
this.transmitter = new sap.m.Input({
id : this.createId("transmitterControl"),
// placeholder : "Enter emiter ...",
showSuggestion : true,
suggest : oCon.handleSuggestTransmitter,
suggestionItems:{
path:"/services",
template: new sap.ui.core.Item({text:"{serviceName}", key:"{serviceId}"})
},
startSuggestion : 3,
suggestionItemSelected : function(evt) {
oCon.onSuggestionTransmitterSelected(evt);
},
}).addStyleClass("font_bold")
とコントローラ用:
onSuggestionTransmitterSelected : function (e) {
var selectedTransmitter = e.getParameter("selectedItem").getBindingContext().getObject();
this.serviceData.transmitter = selectedTransmitter;
},
showAllSuggestion : function (transmiterAutoComplete) {
console_log("showAllSuggestion");
transmiterAutoComplete.getBinding("suggestionItems");
},
handleSuggestTransmitter: function(e) {
var sTerm = e.getParameter("suggestValue");
var aFilters = [];
if (sTerm) {
aFilters.push(new sap.ui.model.Filter("serviceName", sap.ui.model.FilterOperator.StartsWith, sTerm));
}
e.getSource().getBinding("suggestionItems").filter(aFilters);
},
Dispaying提案は、働くとき、私入力3つの文字ポップアップが表示され、フィルタリングを行うことができます。
私が紛失しているもの: a)入力フィールドをクリックすると、リスト全体が表示されます。 b)強制選択(全く考えられない)
IveはstartSuggestion:0に設定しようとしましたが、動作しませんでした。それは提案のonClickとポップアップが表示されるはずですdocumenationによると
https://sapui5.hana.ondemand.com/docs/api/symbols/sap.m.Input.html#getStartSuggestion
getStartSuggestionを():intは財産 startSuggestionの現在の値を取得します。 がイベントが発生する前に、入力されたテキストの最小長。デフォルト値は1です。これは、ユーザ入力後に イベントが発生したことを意味します。 0に設定されている場合は、テキストが入力されていない入力がフォーカスを取得すると、 イベントが発生します。
デフォルト値は、私もonfocusinイベントを取り付けてみました。1.
です。それは働いて、ハンドラが呼び出されますが、私はどのようなメソッドを私は提案のポップアップリストを表示する必要がありますかわからない。
transmiterAutoComplete.addEventDelegate({
onfocusin : function(){
console_log("testTransmiterComplete");
app.getCurrentController().showAllSuggestion(transmiterAutoComplete);
}
});
私は、ポップアップを使用せずに解決策を探しています。 – Remiwaw
編集: 私は、ポップアップを使用せずに解決策を探しています。 提案のリストを取得する方法を知っています(getSuggestionItemsメソッド)。 問題は私がこれらのアイテムを表示する方法を知らないことです(ポップアップに表示されていないすべてのアイテムを表示する方法は、「通常の使用」と同じです)。 javascriptのビューは、参加する前にプロジェクトで使用していたアプローチに過ぎません。 – Remiwaw
結局私はポップアップウィンドウであなたのソリューションを使用して、それは大丈夫:) – Remiwaw