SAPUI5 XML视图中的复杂绑定
我试图在从JSONModel绑定字符串值时将其转换为布尔值。理想情况下,我的模型中的值为“true”/“false”,我希望将其绑定到项目的visible属性。该模型被定义为双向绑定,但我想在这种情况下这并不重要 我在index.html中声明了“复杂绑定”SAPUI5 XML视图中的复杂绑定,sapui5,Sapui5,我试图在从JSONModel绑定字符串值时将其转换为布尔值。理想情况下,我的模型中的值为“true”/“false”,我希望将其绑定到项目的visible属性。该模型被定义为双向绑定,但我想在这种情况下这并不重要 我在index.html中声明了“复杂绑定” data-sap-ui-xx-bindingSyntax="complex" 然后,我创建XML视图并从模型中绑定属性,如下所示: columnKey=“{TableVariatafModel>Fieldname}” visible
data-sap-ui-xx-bindingSyntax="complex"
然后,我创建XML视图并从模型中绑定属性,如下所示:
columnKey=“{TableVariatafModel>Fieldname}”
visible=“{path:'tableVariantAFModel>visible',类型:'sap.ui.model.type.Boolean',模式:'sap.ui.model.BindingMode.TwoWay'}”
index=“{tableVariantAFModel>DisplayOrder}”>
我建议使用格式化程序。看见在格式化程序中,您可以编写:
visible="{path:'tableVariantAFModel>Visible', formatter: '.formatter.stringToBoolean'}"
在格式化程序中,您可以创建如下函数:
stringToBoolean: function(_stringBoolean){
(_stringBoolean === "true") ? return true : return false;
}
您必须确保在控制器中实例化格式化程序,或者可以选择在控制器本身中选择一个函数。我建议使用格式化程序。看见在格式化程序中,您可以编写:
visible="{path:'tableVariantAFModel>Visible', formatter: '.formatter.stringToBoolean'}"
在格式化程序中,您可以创建如下函数:
stringToBoolean: function(_stringBoolean){
(_stringBoolean === "true") ? return true : return false;
}
您必须确保在控制器中实例化格式化程序,或者可以选择在控制器本身中选择一个函数。对于这样的简单用例,您可以使用表达式绑定,而不是在某处实现附加逻辑
<P13nColumnsItem>
columnKey="{tableVariantAFModel>Fieldname}"
visible="{= ${tableVariantAFModel>Visible} === 'true'}"
index="{tableVariantAFModel>DisplayOrder}">
<P13nColumnsItem>
columnKey=“{TableVariatafModel>Fieldname}”
visible=“{=${tableVariantAFModel>visible}===='true'}”
index=“{tableVariantAFModel>DisplayOrder}”>
对于这样的简单用例,您可以使用表达式绑定,而不是在某处实现附加逻辑
<P13nColumnsItem>
columnKey="{tableVariantAFModel>Fieldname}"
visible="{= ${tableVariantAFModel>Visible} === 'true'}"
index="{tableVariantAFModel>DisplayOrder}">
<P13nColumnsItem>
columnKey=“{TableVariatafModel>Fieldname}”
visible=“{=${tableVariantAFModel>visible}===='true'}”
index=“{tableVariantAFModel>DisplayOrder}”>
谢谢Matti。我目前正在使用格式化程序本身。SAPUI5文档说格式化程序很简单。另外,如何在清单文件中定义复杂的绑定??这取决于您的UI5版本,但一般来说,您应该能够将设置添加到您的模型中。使用双向添加值defaultBindingMode。谢谢Matti。我目前正在使用格式化程序本身。SAPUI5文档说格式化程序很简单。另外,如何在清单文件中定义复杂的绑定??这取决于您的UI5版本,但一般来说,您应该能够将设置添加到您的模型中。使用TwoWay.sweet添加值defaultBindingMode!谢谢@matbt这是最棒的。太好了!谢谢@matbt这里有。