You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
timemanager/lib/model/project.dart

33 lines
844 B

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<Object> 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,
);
}