Flutter2.0参数类型“颜色?”不能分配给参数类型“颜色”

在我将 flutter sdk 更新为 >=2.12.0 <3.0.0 后,出现了一个奇怪的错误,说The argument type 'Color?' can't be assigned to the parameter type 'Color'当我尝试为卡片小部件分配边框颜色时,这里发生了什么?

Card(
  shape: RoundedRectangleBorder(
    side: BorderSide(color: Colors.blue[300], width: 2.0),
    borderRadius: BorderRadius.circular(15.0)
  ),
  child: Text('Demo')),

重现错误的完整代码:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Card(
              shape: RoundedRectangleBorder(
                side: BorderSide(color: Colors.blue[300], width: 2.0),
                borderRadius: BorderRadius.circular(15.0),
              ),
              child: Text('Demo')),
        ),
      ),
    );
  }
}

回答

就这样做

 color: (Colors.blue[300])!,

这是 dart 中的一项功能以Null safty
获取更多信息,请查看此链接

https://medium.com/flutter/null-safety-flutter-tech-preview-cb5c98aba187


以上是Flutter2.0参数类型“颜色?”不能分配给参数类型“颜色”的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>