1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import 'package:cpt_services/modules/services/service_clean_detail/service_clean_detail_vm.dart';
- import 'package:cs_resources/generated/l10n.dart';
- import 'package:cs_resources/theme/app_colors_theme.dart';
- import 'package:flutter/material.dart';
- import 'package:auto_route/auto_route.dart';
- import 'package:flutter_hooks/flutter_hooks.dart';
- import 'package:hooks_riverpod/hooks_riverpod.dart';
- import 'package:shared/utils/log_utils.dart';
- import 'package:widgets/my_text_view.dart';
- import 'package:widgets/widget_export.dart';
- import 'chooseAirConditionContent_vm.dart';
- // import 'chooseAirConditionTitle_vm.dart';
- class ChooseAirConditionTitle extends HookConsumerWidget {
- final int id;
- final String cleanServiceType;
- const ChooseAirConditionTitle(
- {Key? key,required this.id, required this.cleanServiceType,}) : super(key: key);
- @override
- Widget build(BuildContext context, WidgetRef ref) {
- final totalPrice = useState<double>(0.0);
- ref.listen(
- chooseAirConditionContentVmProvider.select((state) => state.totalPrice ?? 0.0),
- (previous, next) {
- // 处理 totalPrice 变化
- // print('Total Price: $next');
- totalPrice.value = next.toDouble();
- },
- );
- useEffect((){
- // 组件挂载时执行 - 执行接口请求
- // Future.microtask(() => vm.initPageData());
- return () {
- // 组件卸载时执行
- };
- },[]);
- return Container(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- Padding(
- padding: const EdgeInsets.only(left: 20, right: 20, top: 10, bottom: 10),
- child: Column(
- children: [
- MyTextView(
- S.current.select_air_conditioner,
- textColor: context.appColors.textBlack,
- textAlign: TextAlign.left,
- isFontBold: true,
- fontSize: 17,
- boxWidth: double.infinity,
- // maxLines: 5,
- ),
- MyTextView(
- "\$${totalPrice.value}",
- textColor: context.appColors.textPrimary,
- textAlign: TextAlign.left,
- isFontMedium: true,
- fontSize: 17,
- // maxLines: 5,
- boxWidth: double.infinity,
- ),
- ],
- ),
- ),
- // 分割线
- Divider(
- color: context.appColors.grayBgE9,
- height: 1,
- ),
- ],
- ),
- );
- }
- }
|