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