如何在SAPUI5输入字段中添加浏览器缓存自动完成功能?
我有一个带有输入字段的SAPUI5表单。我希望这些输入字段能够像其他网站一样显示浏览器历史记录中的自动填充功能。有什么想法吗?
答案 0 :(得分:0)
我建议使用window.history来访问浏览器的历史记录。但是,出于安全原因,window.history不允许查看各种URL。
历史记录API在此处提供了充分的文档说明:https://developer.mozilla.org/en-US/docs/Web/API/History_API
但是,如果您可以存储要在模型中打开建议的URL,则可以避免使用window.history并简单地使用“输入”字段的建议功能。这里提供了一个示例: https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.InputSuggestionsCustomFilter/preview
答案 1 :(得分:0)
您的问题有点模糊,但我想您要启用浏览器级表单字段自动填充功能。像这个问题:Make text input fields remember previously entered data。
主要问题是浏览器会在以下条件下保存有关字段值的信息:
通常,您不在UI5中提交表单,因为这是一种非AJAX传递数据的方式。您可以查看此问题:Trigger autocomplete without submitting a form以解决此问题。
或者,您可以自己存储值,例如: localStorage并使用它们来填充sap.m.Input的suggestionItems聚合。
答案 2 :(得分:0)
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");