所以我有下一个数组:
const contactInfo = computed(() => {
return [
{
id: 'address',
icon: 'detail/clubLocation',
text: `${props.data.contactInfo.address}`
},
{
id: 'phone',
icon: 'contactInfo/phone',
text: `${props.data.contactInfo.phone}`
},
{
id: 'mail',
icon: 'contactInfo/mail',
text: `${props.data.contactInfo.email}`
},
{
id: 'instagram',
icon: 'contactInfo/instagram',
text: `${props.data.contactInfo.instagram}`
},
{
id: 'facebook',
icon: 'contactInfo/facebook',
text: `${props.data.contactInfo.facebook}`
}
]
})
我刚从后台收到一个调用,说所有这些字段都是可选的,所以我必须处理**text ⇒ null and undefined/''**我做了下一个计算并返回它:
const contactInfoFiltered = computed(() => {
return contactInfo.value.filter(
info => info.text !== null || info.text !== ''
)
})
但它不起作用,因为我仍然看到图标被渲染,我真的不知道为什么。
提前感谢,当然,任何帮助都是高度赞赏!
1条答案
按热度按时间46scxncf1#
在
js
中,任何值都可以被测试,以便知道它是否是“某物”,所以你可以测试null
、undefined
甚至0
或''
,它们都将导致false
求值,这可以解决你的问题: