如何在SAPUI5輸入字段中添加瀏覽器緩存自動完成?如何在SAPUI5輸入字段中添加瀏覽器緩存自動完成功能?
我有一個SAPUI5形式的輸入字段。我希望這些輸入字段像任何其他網站一樣,從瀏覽器歷史記錄中顯示自動完成。任何想法?
如何在SAPUI5輸入字段中添加瀏覽器緩存自動完成?如何在SAPUI5輸入字段中添加瀏覽器緩存自動完成功能?
我有一個SAPUI5形式的輸入字段。我希望這些輸入字段像任何其他網站一樣,從瀏覽器歷史記錄中顯示自動完成。任何想法?
你的問題有點含糊,但我想你想要啓用瀏覽器級表單字段自動完成。就像這個問題:Make text input fields remember previously entered data。
主要的缺點是,瀏覽器會保存這些條件下,關於字段值信息:
通常,您不會在UI5中提交表單,因爲這是傳遞數據的非AJAX方式。你可以看看這個問題:Trigger autocomplete without submitting a form解決這個問題。
或者,您可以將自己的值存儲在例如localStorage並使用它們來填充sap.m.Input的suggestionItems聚合。
我建議使用window.history來訪問瀏覽器的歷史記錄。但是,出於安全原因,window.history不允許查看各種URL。
歷史API很好地結合實例記錄在這裏:https://developer.mozilla.org/en-US/docs/Web/API/History_API
但是,如果你可以存儲你希望在模型中開啓建議的網址,你能避免的window.history,使用簡單的建議輸入字段的功能。這裏提供了一個樣本: https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.InputSuggestionsCustomFilter/preview
LocalCacheSettings: function(){
var aSelectedTokens = this.getView().byId("processOrderNo").getTokens();
var aModelData = [];
for(var i = 0; i < aSelectedTokens.length ; i++){
aModelData.push({
"key" : i.toString(),
"value" : aSelectedTokens[i].getText()
});
jQuery.sap.storage(jQuery.sap.storage.Type.local).put("myLocalData", aModelData);
}
this.aProcessOrderTyped = [];
var oLocalCacheModel = new sap.ui.model.json.JSONModel();
jQuery.sap.require("jquery.sap.storage");
var oStorage = jQuery.sap.storage(jQuery.sap.storage.Type.local);
//this.aProcessOrderTyped;
if(oStorage.get("myLocalData")){
this.aProcessOrderTyped = oStorage.get("myLocalData");
oLocalCacheModel.setData(this.aProcessOrderTyped);
}
this.getView().setModel(oLocalCacheModel, "POModel");
使用本地存儲解決了我的問題...謝謝... –