SAPUI5:如何使select字段为只读

kes*_*het 6 sapui5

我使用sap.m库制作了一个组合框:

var oSelection = new sap.m.ComboBox({
    name:   <name>,
    id:     <id>,
    items: {
        <items here>
        })
    },
});
Run Code Online (Sandbox Code Playgroud)

现在,我如何使这个字段只读,所以当我在移动设备上点击它时,它不会调出移动设备的键盘,但它会提出选择选项?我试过使用editable: false,但它会与键盘一起禁用选择.

谢谢.

mjd*_*mjd 1

据我所知,没有任何方法允许这种行为。

我个人不建议的一种选择是访问 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;
        }
Run Code Online (Sandbox Code Playgroud)

将 <id>-inner 替换为为组件提供的正确 id。

这是使用 SAPUI5 开发工具包 1.22.8 版本进行测试的。