我使用sap.m库制作了一个组合框:
var oSelection = new sap.m.ComboBox({
name: <name>,
id: <id>,
items: {
<items here>
})
},
});
现在,我如何让这个字段只读,所以当我在移动设备上点按它时,它不会调出移动设备的键盘,但它会提出选择选项吗?
我尝试使用editable: false
,但它会与键盘一起禁用选择。
谢谢。
答案 0 :(得分:2)
根据我的发现,没有任何方法允许这种行为。
我个人不会建议的一个选项是访问HTML DOM并禁用组成sap.m.Combobox组件的输入字段。
请记住,如果开发SAPUI5更改了Combobox组件的内部工作方式,则在更新SAPUI5库时可能会破坏代码。
这就是说,要使用此选项,您可以执行以下操作:
oSelection.onAfterRendering = function() {
if (sap.m.ComboBox.prototype.onAfterRendering) {
sap.m.ComboBox.prototype.onAfterRendering.apply(this);
}
document.getElementById("<id>-inner").disabled=true;
}
替换&lt; id&gt; -inner由给予组件的正确ID。
使用SAPUI5开发工具包的1.22.8版进行了测试。
答案 1 :(得分:0)
使用 sap.m.Select 代替 sap.m.ComboBox 。
选择不提供编辑字段内容的功能。
在许多情况下,Select控件可以直接替换ComboBox,而无需对属性或项目聚合进行任何其他更改!