捕获图像小部件:断言失败 Flutter

3
有时当我启动应用程序时,会出现以下问题: 'package:cached_network_image/src/cached_image_widget.dart': 失败的断言:第157行第16个位置:'imageUrl != null' 不是真的。 在cached_image_widget.dart文件的第157行:
 : assert(imageUrl != null),

在文件中调用缓存图像小部件时:

child: CachedNetworkImage(
                      imageUrl: itemArticle.urlToImage,
                      imageBuilder: (context, imageProvider) {
                        return Container(
                          width: 72.0,
                          height: 72.0,
                          decoration: BoxDecoration(
                            image: DecorationImage(
                              image: imageProvider,
                              fit: BoxFit.cover,
                            ),
                          ),
                        );
                      },

我的应用展示了一个卡片视图(列表)。

您认为它怎么样?我们可以以某种方式解决它吗?

谢谢。

2个回答

6

只需添加一个空值检查。这是因为您正在向CachedNetworkImage提供一个null值。

基本上,一个简单的解决方法:

child: itemArticle.urlToImage != null ?
    CachedNetworkImage(...) : Container() // Or some other widget.

0

您可以使用itemArticle.urlToImage ?? defaultImageUrl添加默认图像。

child: CachedNetworkImage(
   imageUrl: itemArticle.urlToImage ?? defaultImageUrl,
   imageBuilder: (context, imageProvider) {
       return Container(
           width: 72.0,
           height: 72.0,
           decoration: BoxDecoration(
               image: DecorationImage(
                   image: imageProvider,
                   fit: BoxFit.cover,
               ),
           ),
        );
    },

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接