Flutter中如何在_readProfile为null时让Image.network显示替代图片?
解决方法
你可以通过空安全运算符或者三元表达式来实现当_readProfile为null时切换显示的图片URL:
方法一:使用空合并运算符??
如果_readProfile的avatarUrl是字符串类型,直接用??指定备用图片地址:
Image.network( _readProfile?.avatarUrl ?? 'https://example.com/backup-image.jpg', // 其他配置参数,比如width、height等 )
_readProfile?.avatarUrl会先判断_readProfile是否为null,若为null则直接返回??后面的备用地址;若不为null则取avatarUrl的值。
方法二:使用三元表达式
如果需要更复杂的判断逻辑,比如_readProfile不为null但avatarUrl也可能为空,可以用三元表达式:
Image.network( _readProfile != null && _readProfile.avatarUrl.isNotEmpty ? _readProfile.avatarUrl : 'https://example.com/backup-image.jpg', )
要是你之前的代码报错,大概率是没正确使用Dart的条件表达式语法,上面两种写法都是符合Dart语法规范的,不会出错。
内容的提问来源于stack exchange,提问作者Ibrahim Memon
相关产品推荐
相关产品推荐

