检查值以在 SAPUI5 中设置“可见”
Checking value to set `visible` in SAPUI5
我必须检查该值是否为空,如果是,则我不必显示带有值的标签。我这样试过:
<f:fields
visible="{= typeof(${Data>/online/value}) !== 'undefined'
&& ${Data>/online/value} !== null }">
<Text visible="{= ${Data>/name} === 'firstScreen' }" text="{i18n>label}"/>
<Text visible="{= ${Data>/name} === 'firstScreen' }" text="{=${Data>/online/value}}"/>
</f:fields>
但即使 Data>/online/value
为空,它也会显示。 visible=
or?
中是否有语法
为了稍微扩展一下我的评论,并且不知道 f:fields
到底是什么,我假设它是 sap.f
命名空间控件上的聚合之一,因为它以f
的小写和 XML 命名空间。
聚合就像容纳其他元素的桶,它们是实际控件的一部分。他们没有属性。这可能有点令人困惑,因为控件本身(也可以包含其他元素)确实具有属性。这可能是示例中始终显示字段的原因
最好将可见的支票移动到文本字段本身。您可以通过将值强制转换为布尔值来缩短检查时间:
!!${Data>/online/value}
当 undefined
、null
或 ""
时,它将计算为 false
,如果它是一个适当的字符串或数字,它将计算为 true
。
字段聚合看起来更像:
<f:fields>
<Label visible="{= ${Data>/name} === 'firstScreen' && !!${Data>/online/value} }" text="{i18n>label}"/>
<Text visible="{= ${Data>/name} === 'firstScreen' && !!${Data>/online/value} }" text="{=${Data>/online/value}}"/>
</f:fields>
我必须检查该值是否为空,如果是,则我不必显示带有值的标签。我这样试过:
<f:fields
visible="{= typeof(${Data>/online/value}) !== 'undefined'
&& ${Data>/online/value} !== null }">
<Text visible="{= ${Data>/name} === 'firstScreen' }" text="{i18n>label}"/>
<Text visible="{= ${Data>/name} === 'firstScreen' }" text="{=${Data>/online/value}}"/>
</f:fields>
但即使 Data>/online/value
为空,它也会显示。 visible=
or?
为了稍微扩展一下我的评论,并且不知道 f:fields
到底是什么,我假设它是 sap.f
命名空间控件上的聚合之一,因为它以f
的小写和 XML 命名空间。
聚合就像容纳其他元素的桶,它们是实际控件的一部分。他们没有属性。这可能有点令人困惑,因为控件本身(也可以包含其他元素)确实具有属性。这可能是示例中始终显示字段的原因
最好将可见的支票移动到文本字段本身。您可以通过将值强制转换为布尔值来缩短检查时间:
!!${Data>/online/value}
当 undefined
、null
或 ""
时,它将计算为 false
,如果它是一个适当的字符串或数字,它将计算为 true
。
字段聚合看起来更像:
<f:fields>
<Label visible="{= ${Data>/name} === 'firstScreen' && !!${Data>/online/value} }" text="{i18n>label}"/>
<Text visible="{= ${Data>/name} === 'firstScreen' && !!${Data>/online/value} }" text="{=${Data>/online/value}}"/>
</f:fields>