Flutter自定义组件怎么传参才不会报错?

皇甫清梅 阅读 2

我写了个自定义的卡片组件,想从父组件传个标题进去,但老是提示参数为null,明明传了啊!

试过加required关键字,也检查了命名参数写法,还是不行。是不是哪里漏了?

class MyCard extends StatelessWidget {
  final String title;
  MyCard({this.title}); // 这里是不是得加 required?
  
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text(title),
    );
  }
}

// 使用时
MyCard(title: 'Hello Flutter')
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
Mr-尚文
Mr-尚文 Lv1
直接这样:把构造函数改成 MyCard({required this.title}),不然title可能会是null。记得import 'package:flutter/foundation.dart' if你还没加required的话。看你代码应该就是少了required导致的。
点赞
2026-03-30 19:00