SAPUI5表格单元自定义控件绑定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAPUI5表格单元自定义控件绑定相关的知识,希望对你有一定的参考价值。
我想知道是否有人可以解释我遇到的问题。当我在单元格中使用自定义输入控件时,我似乎无法更新数据模型。使用标准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,最后第四列再次是一个自定义按钮,其中'additionalParameters'聚合绑定到第三列中的数据。当按下任何按钮时,它会触发一个事件,该事件又会更新“Sample”输入字段。
因此,当我在第一列中输入内容时,标签输出并按下相应的“PB1”按钮,只有模型中的原始数据出现在“样本”输入字段中。如果我在第三列中键入内容,从字段中选择并按相应的“PB2”按钮,则“输入”输入字段由新输入的数据正确设置,这意味着数据模型已更新。
编辑我可以从输入中获取值没有问题。也许我可以澄清一下。单元格1中的“MyCustomInput”将“value”绑定到“list> colOne”。单元格2中的“MyCustomButton”将聚合“additionalParameters”中第一个项目的“text”绑定到相同的“list> colOne”。输入MyCustomInput的任何文本都不会更新模型,因此不会更新“additionalParameters”项。如果我做同样的事情,但使用标准的输入而不是MyCustomInput它的工作原理。可以看到单元格3中的输入和单元格4中的按钮。
谢谢
可能是您可以提供更多信息。我们在这里有一个简单的例子http://jsbin.com/yukujag/edit?html,js,output,它适用于getValue和setValue
sap.ui.define(['sap/m/Input', 'sap/m/Button', 'sap/m/VBox'],
function(Input, Button, VBox) {
Input.extend('MyInput', {
value: 'abc',
renderer: {},
getValue: function() {
return this.value;
},
setValue: function(v) {
this.value = v;
},
});
var oInput = new MyInput();
var oBox = new VBox({
items: [
oInput,
new Button({
text: 'Test',
press: function() {
alert(oInput.getValue());
}
})
]
})
oBox.placeAt('content');
});
感谢:D
以上是关于SAPUI5表格单元自定义控件绑定的主要内容,如果未能解决你的问题,请参考以下文章