import 'package:flutter/material.dart'; // Color类要使用这个包 import 'package:equatable/equatable.dart'; // 比较两个对象是否相等的包 class Project extends Equatable { final int id; final String name; final Color? colour; // 颜色 final bool archived; // 是否归档 // 构造函数 const Project({ required this.id, required this.name, required this.colour, required this.archived, }); @override List get props => [id, name, archived]; // 返回属性列表,用于比较两个对象是否相等 Project.clone( Project project, { String? name, Color? color, bool? archived, }) : this( id: project.id, name: name ?? project.name, colour: color ?? project.colour, archived: archived ?? project.archived, ); }