photo_group.dart 925 B

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