gpt4 book ai didi

javascript - OpenUI5 将属性与函数绑定(bind),而不是直接访问

转载 作者:行者123 更新时间:2023-12-03 10:06:42 25 4
gpt4 key购买 nike

我想将 JSONModel 中的属性(本例中为 flag_baz)绑定(bind)到复选框。事实是 json 模型看起来像这样。

{
foo: "Foo",
bar:"Bar",
flag_baz : "X"
}

在这种情况下,X 表示“真”,空字符串表示“假”

我想做的是评估一个从模型绑定(bind)到复选框的函数(这会将“X”/“”转换为真/假),并在从复选框绑定(bind)到模型时评估一些其他函数(即将从真/假转换回“X”/“”)。

我想要这样的东西:

var checkBox = new Checkbox();
checkBox.bindProperty("checked", "flag_baz", funcFromStringToBool, funcFromBoolToString);

我知道 funcFromStringToBool 被称为格式化程序。

如何添加 funcFromBoolToString 函数?

希望这是有道理的。

提前致谢。

最佳答案

好吧,以防万一我自己找到了答案。

所有绑定(bind)都可以使用这样的类型

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
}
});

关于javascript - OpenUI5 将属性与函数绑定(bind),而不是直接访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30323120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com