我想将一个属性(在本例中为flag_baz)从JSONModel绑定到一个复选框。 事情就是json模型看起来像这样。
{
foo: "Foo",
bar:"Bar",
flag_baz : "X"
}
在这种情况下,X表示" true"空字符串表示" false"
我想要做的是评估从模型到复选框的绑定功能(可以翻译" X" /""到真/假)并评估其他一些从复选框绑定到模型时的功能(从真/假转换回" X" /"")。
我想有这样的事情:
var checkBox = new Checkbox();
checkBox.bindProperty("checked", "flag_baz", funcFromStringToBool, funcFromBoolToString);
我知道funcFromStringToBool被称为格式化程序。
我如何添加funcFromBoolToString函数?
希望这是有道理的。
提前谢谢。答案 0 :(得分:1)
如果有些关心,我自己就找到了答案。
所有绑定都可以使用类似的类型
checkBox.bindProperty("checked", {
path : "flag_baz",
type : new BooleanStringType()
});
BooleanStringType类看起来像这样:
sap.ui.model.SimpleType.extend("BooleanStringType", {
//called when going from model to ui
formatValue : function(flag_baz){
return flag_baz === "X";
},
//called when going from ui back to the model
parseValue : function(flag_baz){
return flag_baz ? "X" : "";
},
validateValue : function(flag_baz){
//some validation if needed
}
});