You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Lint规则问题:如何解决“Don't override fields”警告

解决Flutter Lint警告“Don't override fields”

问题出在你子类中重新定义了父类已有的key字段——即便去掉@override注解,这种重复声明父类字段的行为依然会触发该Lint规则。

修复方法:

不要在子类中声明key字段,直接在构造函数参数里通过super.key将参数传递给父类即可,无需单独定义子类的key成员变量。

修改后的代码示例:

FeedViewArticle(
  this.articleId,
  this.image, {
  super.key, // 直接传递key给父类,无需子类声明key字段
});

如果需要保留原构造函数里的super(key: key)写法,也可以这么写(不过super.key已经完成了参数传递,这一步可以省略):

FeedViewArticle(
  this.articleId,
  this.image, {
  super.key,
}) : super(key: key);

这样既满足了向父类传递key的需求,又不会违反Lint规则,因为子类没有重新定义父类已有的key字段,只是在构造时传递参数给父类。

内容的提问来源于stack exchange,提问作者SaDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:10:28