具有自动建议的输入上的SelectedKey如何工作?

2020-09-12 21:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我阅读了示例,但是它们不使用se...

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

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


我阅读了示例,但是它们不使用selectedKey属性。

背景:

我有一个表单,其中一个输入链接到包含100,000条记录的第二个表。

对于该输入,我选择使用自动建议。

 
    
      
      
          
              />
          
      
   

这对于新输入可以正常工作。 我将其链接到我的RSJ表。 当我单击"保存"时,帖子包含:

accountManager:" CC"//我的ID

accountManagerCOMBODESC:"克莱弗利"//我的名字

我认为:

accountManager-我的selectedKey是外部ID

accountManagerCOMBODESC是该行的描述。

但是对于现有记录,accountManager字段始终为空(如果我不更新该字段)

因此:我用:

加载表单

accountManager:"抄送",

accountManagerCOMBODESC:"克莱弗利"

我什么都没做,我只是单击更新,然后发回给我:

accountManager:"",

accountManagerCOMBODESC:"克莱弗利"

我的外国身份证已删除。 如何返回我的ID?

==>我希望值是键,并希望有一个文本标签供我设置输入文本。

2条回答
2020-09-12 21:24 .采纳回答

嗨,

获得了与框架相同的行为。 并且问题出在sap.m.Input组件中。 当绑定框架中的初始上下文一次更新绑定时。 值_onValueUpdated更新时,如果设置了selectedKey,则删除selectedKey。 同时,上下文更新显式设置特殊标志,而该标志只是被控件忽略。 我已经通过对控件的简单继承解决了该问题,而方法的改进却很少。

 sap.ui.define([
 " sap/m/输入"
 ],函数(输入){
 "使用严格";

 return Input.extend(" my.control.Input",{
 元数据:{},
 渲染器:{},
//绑定上下文更改时防止按框架更新模型
 _onValueUpdated:function(newValue){
 var oInfo = this.getBindingInfo('value');
 如果(oInfo && oInfo.skipModelUpdate){
 }其他{
 Input.prototype._onValueUpdated.apply(this,arguments);
 }
 }
 });
 });
 

这应该在不应该进行时通过控制关闭模型更新(如我所相信)。 这是在更改上下文时ManagedObject设置值的方式:

 oBindingInfo.skipModelUpdate = true;
 this [oPropertyInfo._sMutator](oValue);
 oBindingInfo.skipModelUpdate = false;
 

因此,在这种情况下,在绑定上下文更改期间更改值时无需清除selectedKey。

BR,

Denis

一周热门 更多>