组合框attachChange

2020-08-31 11:02发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在SAPUI5中使用Combobox,但最近遇到了问题,希望有人能帮助我!
根据文档,在以下情况下会触发事件更改:

  • 焦点离开文本输入字段
  • 按下 Enter 键
  • 此外,当选择列表中的一项时,也会触发此事件。

不幸的是,在我的情况下,最后一个不起作用。 实际发生的是,当我用鼠标单击时,列表已关闭且名称已正确选择,但光标仍在跳动,因此ComboBox的文本输入仍处于聚焦状态。

您在这里有我的代码:

 var languageComboBox = new sap.m.ComboBox();
//将项目添加到languageComboBox:

 用于(data.locales中的var i){

 var currentItem = data.locales [i];

 如果(currentItem.enabled)

 languageComboBox.addItem(new sap.ui.core.Item({key:currentItem.id,text:currentItem.label})));
 }

 languageComboBox.attachChange(function(oEvent){
 var oSelectedItem = languageComboBox.getSelectedItem();
 var sItemKey = oSelectedItem.getKey();

 var sItemText = oSelectedItem.getText(); ......... 

PS。 如果还有其他两种情况发生,.attachChange可以正常工作。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在SAPUI5中使用Combobox,但最近遇到了问题,希望有人能帮助我!
根据文档,在以下情况下会触发事件更改:

  • 焦点离开文本输入字段
  • 按下 Enter 键
  • 此外,当选择列表中的一项时,也会触发此事件。

不幸的是,在我的情况下,最后一个不起作用。 实际发生的是,当我用鼠标单击时,列表已关闭且名称已正确选择,但光标仍在跳动,因此ComboBox的文本输入仍处于聚焦状态。

您在这里有我的代码:

 var languageComboBox = new sap.m.ComboBox();
//将项目添加到languageComboBox:

 用于(data.locales中的var i){

 var currentItem = data.locales [i];

 如果(currentItem.enabled)

 languageComboBox.addItem(new sap.ui.core.Item({key:currentItem.id,text:currentItem.label})));
 }

 languageComboBox.attachChange(function(oEvent){
 var oSelectedItem = languageComboBox.getSelectedItem();
 var sItemKey = oSelectedItem.getKey();

 var sItemText = oSelectedItem.getText(); ......... 

PS。 如果还有其他两种情况发生,.attachChange可以正常工作。

付费偷看设置
发送
4条回答
jovirus
1楼-- · 2020-08-31 11:36

嗨,Lefter,

我不确定如果光标仍在ComboBox上是什么问题,因为控件的行为符合预期。

如果我对您的问题有误解,请纠正我。

文档从未说过该事件会从组合框中移开焦点。 因此,当您选择值形式下拉列表时,将触发更改事件,并且所选条目也会更改。

感谢

Vaibhav Maheshwari

xfwsx85
2楼-- · 2020-08-31 11:15

Hi Vaibhav ,

感谢您的回答,对我迟到的也很抱歉。
sapui版本:" 1.38.39"

我已经尝试过,如果只单击列表中的元素之一,attachChange不会被触发。

这就是我将项目放入组合框的方式。

data.locales是对象的向量。

用于(data.locales中的var i)
 {
var currentItem = data.locales [i];
如果(currentItem.enabled)是
languageComboBox.addItem(new sap.ui.core.Item({key:currentItem.id,text:currentItem.label})));
}
葫芦娃快救爷爷
3楼-- · 2020-08-31 11:15

Hi Lefter,

能否请您尝试使用" attachSelectionChange()"而不是" attachChange()"

谢谢

Amar

My梦
4楼-- · 2020-08-31 11:35

嗨Amar,

感谢您在计算机中执行该程序。
您建议我根据情况进行更改吗?

一周热门 更多>