使用构造函数中的方法来初始化参数?
Use a Method in Constructor to initialize a parameter?
我想根据另一个参数的值在我的构造函数中初始化一个参数。
因此,根据 oldEmployee 是否不为空,我应该将他添加到 availableEmployees 列表中,否则按原样使用 availableEmployees 列表。
我想在这个 class 中执行此操作的原因是,我读到在使用 Bloc 时我应该在 Bloc 的状态中进行计算,而不是在 UI 中进行计算。
这是我的 class 的样子:
class ShiftCreatedOrEdited extends ShiftsState {
final List<Employee> availableEmployees;
final Employee oldEmployee;
const ShiftCreatedOrEdited({
this.availableEmployees,
this.oldEmployee,
});
List<Employee> addOldEmployeeToTheAvailableEmployees(List<Employee> availableEmployees, Employee oldEmployee) {
if (oldEmployee != null) {
List<Employee> hList = availableEmployees;
hList.add(oldEmployee);
return hList;
} else {
return availableEmployees;
}
}
}
这个怎么样:
void main() {}
class Employee {}
class ShiftsState {}
class ShiftCreatedOrEdited {
final Employee oldEmployee;
final List<Employee> availableEmployees;
ShiftCreatedOrEdited(
Employee _oldEmployee, List<Employee> _availableEmployees)
: this.availableEmployees =
_availableEmployees + (_oldEmployee != null ? [_oldEmployee] : []),
this.oldEmployee = _oldEmployee;
}
我想根据另一个参数的值在我的构造函数中初始化一个参数。
因此,根据 oldEmployee 是否不为空,我应该将他添加到 availableEmployees 列表中,否则按原样使用 availableEmployees 列表。
我想在这个 class 中执行此操作的原因是,我读到在使用 Bloc 时我应该在 Bloc 的状态中进行计算,而不是在 UI 中进行计算。
这是我的 class 的样子:
class ShiftCreatedOrEdited extends ShiftsState {
final List<Employee> availableEmployees;
final Employee oldEmployee;
const ShiftCreatedOrEdited({
this.availableEmployees,
this.oldEmployee,
});
List<Employee> addOldEmployeeToTheAvailableEmployees(List<Employee> availableEmployees, Employee oldEmployee) {
if (oldEmployee != null) {
List<Employee> hList = availableEmployees;
hList.add(oldEmployee);
return hList;
} else {
return availableEmployees;
}
}
}
这个怎么样:
void main() {}
class Employee {}
class ShiftsState {}
class ShiftCreatedOrEdited {
final Employee oldEmployee;
final List<Employee> availableEmployees;
ShiftCreatedOrEdited(
Employee _oldEmployee, List<Employee> _availableEmployees)
: this.availableEmployees =
_availableEmployees + (_oldEmployee != null ? [_oldEmployee] : []),
this.oldEmployee = _oldEmployee;
}