Power Apps根据'Tipo de Ocorrência'字段值显示图片异常求助
Power Apps 图片控件条件显示失效问题
我正在开发Power Apps应用,想要根据名为Tipo de Ocorrência的字段值显示不同图片,在图片控件的Image属性中使用了如下公式:
If(ThisItem. 'Tipo de Ocorrência'.Value = "Roubo", "crime.png", If(ThisItem. 'Tipo de Ocorrência'.Value = "Acidente", "crash.jpg", "DefaultImage.png" ) )
应用界面截图:
但图片未按预期显示,我已完成以下排查:
- 确认
crime.png、crash.jpg和DefaultImage.png已正确上传至Power Apps媒体库; - 直接将图片控件的Image属性设置为上述文件名,均可正常显示;
- 添加标签控件显示
ThisItem.'Tipo de Ocorrência'.Value,确认字段值为正确的Roubo或Acidente。
尽管做了这些检查,条件逻辑还是不生效,图片无法根据字段值切换。请问问题出在哪,该怎么修复?
问题原因及修复方案
1. 公式语法错误
你的公式里ThisItem. 'Tipo de Ocorrência'.Value部分,ThisItem.后面多了一个空格,Power Apps公式对语法空格敏感,这个多余空格会导致字段引用失败,直接让条件判断失效。
另外,直接引用媒体库图片时,不需要给文件名加引号——带引号的是字符串类型,和Power Apps媒体对象不是同一类型,这也是潜在的不匹配问题。
2. 修复后的公式
去掉多余空格,并改用媒体对象直接引用,修改后的If公式:
If( ThisItem.'Tipo de Ocorrência'.Value = "Roubo", crime.png, ThisItem.'Tipo de Ocorrência'.Value = "Acidente", crash.jpg, DefaultImage.png )
更推荐用Switch函数简化逻辑,可读性更强:
Switch( ThisItem.'Tipo de Ocorrência'.Value, "Roubo", crime.png, "Acidente", crash.jpg, DefaultImage.png )
额外验证点
如果Tipo de Ocorrência是文本字段而非选项字段,需要去掉.Value,直接用ThisItem.'Tipo de Ocorrência'进行判断。
内容的提问来源于stack exchange,提问作者Pedro Adekanbi
相关产品推荐
相关产品推荐

