【发布时间】:2018-06-08 12:21:57
【问题描述】:
我想知道是否有人可以阐明我遇到的问题。当我在单元格中使用自定义输入控件时,我似乎无法更新数据模型。使用标准 sap.m.Input 时,可以正确执行数据模型的更新。
这是 Plunker:https://plnkr.co/edit/GxE6F8DbW9DHqWjpfdO0
我已经正确地覆盖了“值”的 getter 以从输入字段中获取数据。在 Chrome 中调试显示未调用此函数,我认为这是未更新数据模型的原因。
getValue: function() {
var me = this;
var ef = sap.ui.getCore().byId(me.sId + '-ef');
return ef.getProperty('value');
}
基本上,有一个两行四列的表格。第一列使用我的自定义输入。第二列有一个自定义按钮,其中包含一个聚合 (additionalParameters),其中包含第一列中使用的绑定数据。第三列使用标准 sap.m.Input,最后第四列再次是自定义按钮,其中“附加参数”聚合绑定到第三列中的数据。当任何一个按钮被按下时,它会触发一个事件,进而更新“示例”输入字段。
因此,当我在第一列中输入内容时,选择制表符并按下相应的“PB1”按钮,只有来自模型的原始数据出现在“样本”输入字段中。如果我在第三列中输入内容,从字段中跳出并按下相应的“PB2”按钮,则“示例”输入字段由新输入的数据正确设置,这意味着数据模型已更新。
编辑 我可以从 Input 获取值没问题。也许我可以澄清一下。单元格 1 中的“MyCustomInput”将“value”绑定到“list>colOne”。单元格 2 中的“MyCustomButton”将聚合“additionalParameters”中第一项的“文本”绑定到相同的“list>colOne”。输入到 MyCustomInput 的任何文本都不会更新模型,因此不会更新“additionalParameters”项。如果我做完全相同的事情,但使用标准输入而不是 MyCustomInput 它可以工作。从单元格 3 中的输入和单元格 4 中的按钮可以看出。
谢谢
【问题讨论】:
标签: binding sapui5 custom-controls