Flutter 2.0 参数类型“颜色?”不能分配给参数类型“颜色”

时间:2021-03-07 12:53:58

标签: flutter

在我将 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')),
        ),
      ),
    );
  }
}

1 个答案:

答案 0 :(得分:8)

就这样做

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

它是 dart Null safty 的一个特性 欲了解更多信息,请查看此链接

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