初始化时无法显示小部件参数


class reusableCard extends StatelessWidget {
reusableCard({required this.colour, this.cardChild});
final Color colour;
final Widget? cardChild;
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
color: colour,
borderRadius: BorderRadius.circular(20),
),
margin: EdgeInsets.all(20),
);
}
}

我正在调用一个名为reuseabelCard的类,其中有两个参数,其中一个是Widget数据类型。调用时,我传递了一个包含图标和文本的列,但是小部件根本没有显示。

Expanded(
child: reusableCard(
colour: ActiveColourCard,
cardChild: Column(
children: [
Icon(FontAwesomeIcons.mars),
SizedBox(
height: 10.0,
),
Text(
'Male',
style: TextStyle(
color: Colors.white,
),
),
],
),
),
),

我期待图标和文本被显示。

您忘记在reusableCard build()方法中添加cardChild

return Container(
decoration: BoxDecoration(
color: colour,
borderRadius: BorderRadius.circular(20),
),
margin: EdgeInsets.all(20),
// add this line
child: cardChild ?? null,
);

而且,根据dart约定,您应该使用PascalCase (ReusableCard而不是ReusableCard)来命名类

您没有调用reusableCard中的cardChild

class reusableCard extends StatelessWidget {
reusableCard({required this.colour, this.cardChild});
final Color colour;
final Widget? cardChild;
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
color: colour,
borderRadius: BorderRadius.circular(20),
),
margin: EdgeInsets.all(20),
child: cardChild,
);
}
}

最新更新