chooseHouseCleanContent_vm.dart 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:riverpod_annotation/riverpod_annotation.dart';
  4. import 'package:router/ext/auto_router_extensions.dart';
  5. import 'package:shared/utils/log_utils.dart';
  6. import 'package:widgets/dialog/dialog_content_wrap.dart';
  7. import '../../../respository/services_respository.dart';
  8. import 'chooseHouseCleanContent_state.dart';
  9. part 'chooseHouseCleanContent_vm.g.dart';
  10. List<Map<String, dynamic>> HouseCleanList = [
  11. {
  12. "name": "House Clean 1(unit)",
  13. "id": 1,
  14. "price": 40.0,
  15. "num":1,
  16. "areaSizeRange": "≤600 sqft",
  17. },
  18. {
  19. "name": "House Clean 2(unit)",
  20. "id": 2,
  21. "price": 57.0,
  22. "num":1,
  23. "areaSizeRange": "601-800 sqft",
  24. },
  25. {
  26. "name": "House Clean 3(unit)",
  27. "id": 3,
  28. "price": 72.0,
  29. "num":1,
  30. "areaSizeRange": "801-1000 sqft",
  31. },
  32. {
  33. "name": "House Clean 3(unit)",
  34. "id": 4,
  35. "price": 85.0,
  36. "num":1,
  37. "areaSizeRange": "1001-1200 sqft",
  38. },
  39. ];
  40. ChooseHouseCleanContentState initState(){
  41. Log.d("--------------------------initState---------------------");
  42. List<HouseCleanContentItem> HouseCleanListNew = [];
  43. HouseCleanList.forEach((item) {
  44. HouseCleanContentItem newItem = HouseCleanContentItem()
  45. ..id = item['id']
  46. ..price = item['price'] as double
  47. ..name = item['name']
  48. ..num = 1
  49. ..areaSizeRange = item['areaSizeRange']
  50. ..isChecked = false;
  51. HouseCleanListNew.add(newItem);
  52. });
  53. return ChooseHouseCleanContentState(
  54. HouseCleanList: HouseCleanListNew,
  55. );
  56. }
  57. @riverpod
  58. class ChooseHouseCleanContentVm extends _$ChooseHouseCleanContentVm {
  59. late ServicesRespository serviceRespositoryInstance;
  60. @override
  61. ChooseHouseCleanContentState build(){
  62. // 引入数据仓库
  63. serviceRespositoryInstance = ref.read(servicesRespositoryProvider);
  64. ChooseHouseCleanContentState state = initState();
  65. Log.d("--------------------------build---------------------");
  66. return state;
  67. }
  68. handlerChangeNum(BuildContext context, bool isChecked, int index){
  69. state.HouseCleanList[index].isChecked = isChecked;
  70. state = state.copyWith(
  71. HouseCleanList: state.HouseCleanList,
  72. );
  73. }
  74. }