无法将参数类型“Object”分配给参数类型“ImageProvider<Object>”

我刚刚更新到 Dart2 和 Flutter sdk: '>=2.12.0 <3.0.0' 现在这个 if 语句中断了:

 decoration: new BoxDecoration(
              shape: BoxShape.circle,
              color: Colors.blueAccent,
              border: Border.all(
                  color: Colors.blueAccent,
                  width: 20.0,
                  style: BorderStyle.solid),
              image: new DecorationImage(
                fit: BoxFit.cover,
                image: myMarkerThumb != 'noImage'
                    ? NetworkImage(myMarkerThumb)
                    : AssetImage('assets/images/noImageAvailable.png'),
              ),
            ),

不能将参数类型“Object”分配给参数类型“ImageProvider”。),

我只是从颤振开始,不知道去哪里找别的。

回答

嘿,这是目前我在使用 dart 2.12 的 flutter repo 中打开的一个问题。

您可以在此期间制作的一个简单解决方法就是投射对象。


 decoration:  BoxDecoration(
              shape: BoxShape.circle,
              color: Colors.blueAccent,
              border: Border.all(
                  color: Colors.blueAccent,
                  width: 20.0,
                  style: BorderStyle.solid),
              image:  DecorationImage(
                fit: BoxFit.cover,
                image: myMarkerThumb != 'noImage'
                    ? NetworkImage(myMarkerThumb)
                    : AssetImage('assets/images/noImageAvailable.png') as ImageProvider,
              ),
            ),


回答

一些在 open issue 中解决了投射到图像提供程序的问题

@AbdurrahmanElrayes

这个解决方案也适用于我

image: DecorationImage( 
   image: true ? NetworkImage('someNetWorkLocation.com') : AssetImage('assets/images/noImageAvailable.png') as ImageProvider 
),


以上是无法将参数类型“Object”分配给参数类型“ImageProvider&lt;Object&gt;”的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>