photo_group.dart 959 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:get/get.dart';
  2. import 'package:wechat_assets_picker/wechat_assets_picker.dart';
  3. class PhotoGroup {
  4. // 照片组的标题
  5. final String title;
  6. // 照片组中的图片数量
  7. final int imageCount;
  8. // 照片组的选择状态
  9. final RxBool isSelected;
  10. // 照片组中的图片列表
  11. final List<AssetEntity> images;
  12. // 每张图片的选择状态
  13. final RxList<bool> selectedImages;
  14. // 照片组的位置
  15. final RxString? location;
  16. int get selectedCount => selectedImages.where((selected) => selected).length;
  17. PhotoGroup({
  18. required this.imageCount,
  19. required this.title,
  20. required bool isSelected,
  21. required this.images,
  22. this.location,
  23. }) : isSelected = isSelected.obs,
  24. selectedImages = List.generate(images.length, (_) => isSelected).obs;
  25. void toggleSelectAll(bool value) {
  26. isSelected.value = value;
  27. selectedImages.assignAll(List.generate(images.length, (_) => value));
  28. }
  29. }