Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sapui5 如何将组合框的输入设置为只读_Sapui5 - Fatal编程技术网

Sapui5 如何将组合框的输入设置为只读

Sapui5 如何将组合框的输入设置为只读,sapui5,Sapui5,在我的一个UI5对话框中,我实现了一个组合框,当屏幕最初加载时,它是不可见的。 在方法onAfterRendering中,我首先将输入设置为只读: onAfterRendering:函数(oEvent){ var oShovel=this.getView(“View0200”).byId(“组合铲”); oShovel.$().find(“input”).attr(“readonly”,true); this.setVisibleByListKey(); }, 在此之后,调用方法setVisi

在我的一个UI5对话框中,我实现了一个组合框,当屏幕最初加载时,它是不可见的。 在方法
onAfterRendering
中,我首先将输入设置为只读:

onAfterRendering:函数(oEvent){
var oShovel=this.getView(“View0200”).byId(“组合铲”);
oShovel.$().find(“input”).attr(“readonly”,true);
this.setVisibleByListKey();
},
在此之后,调用方法
setVisibleByListKey
,属性
VisibleSpove
将设置为false

setVisibleByListKey:函数(oEvent){
var-oModel=this.getView(“View0200”).getModel(“Data0200”);
此.setVisibleByListKey1(oModel);
// ...
},
setVisibleByListKey1:函数(oModel){
oModel.setProperty(“/visibleSpoot”,false);
},
属性绑定到“我的组合框”上可见的属性。 由于此行为,渲染后将再次调用方法
onAfterRendering
,属性
readonly
不可用(因为不可见)


我试图在
onInit
onbeforeredering
中调用set方法,但此时无法更改输入属性(因为再次不可见)


那么,在设置命名的visible属性时,如何将combobox的输入设置为只读?

使用UI5控件的方法和属性,而不是使用jquery:

从中借用了以下两种方法:


或者,由于您正在使用属性绑定实现可见性,请对可编辑属性执行相同的操作,例如,
{Data0200>/editablespoot}

解决方案可以是使用
sap.m.Select
或为
sap.m.Combobox
实现“更改”事件处理程序,并使用类似于以下内容的编码:

handleChange:函数(oEvent){
var oValidatedComboBox=oEvent.getSource();
var sSelectedKey=oValidatedComboBox.getSelectedKey();
var sValue=oValidatedComboBox.getValue();
如果(!sSelectedKey&&S值){
setValueState(“错误”);
setValueStateText(“请输入有效的国家!”);
}否则{
oValidatedComboBox.setValueState(“无”);
}
},

问题是,如果我使用setEditable或setEnabled,我很遗憾无法选择复选框的项目。因为我对SAPUI5编程相当陌生,我想知道我是否在这里遇到了错误,除此之外,我不需要检查输入afterwards@cf.codings那不是你要找的吗?选择控件为“只读”,但仍允许用户选择项目。但如果只有三种选择,或者在用户体验方面会更受欢迎。还是你想继续使用ComboBox?你想了解什么?@boghyonHoffmann我试图了解comobox是否可行,但sap.m.select是一个很好的替代解决方案。现在我将继续使用组合框,因为我实现了对事件更改的反应,以验证输入。
sap.m.Select
是没有编辑选择值能力的组合框的完美替代品。