Lint 不会覆盖 flutter 中的字段

uni*_*ice 10 lint dart flutter

我是 Lint 的新手,我的变量上出现蓝色下划线,并带有和UserModel消息。我很难理解示例文档中的好规则和坏规则。添加后我仍然收到相同的消息。Don't override fieldsAnnotate overridden members@override

class UserModel extends UserEntity {
  final int id;
  final String? uid;
 
  const UserModel(
      {required this.id,
      this.uid})
      : super(
          id: id,
          uid: uid,
        );
}


//

class UserEntity extends Equatable {
  const UserEntity({
    required this.id,
    this.uid,
    this.provider,
   });

  final int id;
  final String? uid;
 
  static const empty = UserEntity(id: 0, uid: '');

  @override
  List<Object> get props => [id];
}
Run Code Online (Sandbox Code Playgroud)

mmc*_*n20 18

字段iduid已经在类中定义UserEntity,因此再次将它们声明为类中的字段是多余的UserModel

class UserModel extends UserEntity {
  const UserModel({required int id, String? uid}) : super(id: id, uid: uid);
}
Run Code Online (Sandbox Code Playgroud)

编辑:从dart 2.17开始,您可以使用超级初始化器来简化上述代码。

class UserModel extends UserEntity {
  const UserModel({required super.id, super.uid});
}
Run Code Online (Sandbox Code Playgroud)