在我将 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')),
),
),
);
}
}
答案 0 :(得分:8)
就这样做
color: (Colors.blue[300])!,
它是 dart Null safty
的一个特性
欲了解更多信息,请查看此链接
https://medium.com/flutter/null-safety-flutter-tech-preview-cb5c98aba187