123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import 'package:cpt_property/modules/news/vm/property_news_vm.dart';
- import 'package:cs_resources/generated/assets.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:plugin_platform/engine/toast/toast_engine.dart';
- import 'package:riverpod_annotation/riverpod_annotation.dart';
- import 'package:shared/utils/log_utils.dart';
- import '../../ioan/property_ioan_page.dart';
- import '../../news/page/property_news_page.dart';
- import '../../rent/page/property_rent_page.dart';
- import '../../sale/page/property_sale_page.dart';
- import '../page/property_page_state.dart';
- part 'property_vm.g.dart';
- @riverpod
- class PropertyVm extends _$PropertyVm {
- get topSectionsData => state.topSectionsData;
- Map<String, dynamic> _newsQueryMap = {
- "isCollection": false,
- };
- PropertyVmState initState() {
- return PropertyVmState();
- }
- @override
- PropertyVmState build(){
- final state = initState();
- Log.d("--------------------------build---------------------");
- // 初始时导航到子路由
- WidgetsBinding.instance.addPostFrameCallback((_) {
- });
- return state;
- }
- // 页面切换
- switchPage(int index,BuildContext? context, [bool? isFirstInitSwitch] ){
- if(state.curIdx != index){
- state = state.copyWith(curIdx: index);
- final List<Map<String, dynamic>>? topSectionsData = state.topSectionsData;
- // Log.d("当前页面${topSectionsData?[index]['pageStartInstanceFn']}");
- final pageStartInstanceFn = topSectionsData?[index]['pageStartInstanceFn'] as Function({BuildContext? context});
- pageStartInstanceFn(context:context);
- }else {
- if(isFirstInitSwitch??false){
- final List<Map<String, dynamic>>? topSectionsData = state.topSectionsData;
- // Log.d("当前页面${topSectionsData?[index]['pageStartInstanceFn']}");
- final pageStartInstanceFn = topSectionsData?[index]['pageStartInstanceFn'] as Function({BuildContext? context});
- pageStartInstanceFn(context:context);
- }
- }
- }
- // 点击了导航的 搜索 进行筛选
- handlerCollectionFilter(BuildContext? context, bool isCollection ){
- _newsQueryMap['isCollection'] = isCollection;
- // 重新加载数据
- final newsPageVm = ref.read(propertyNewsVmProvider.notifier);
- newsPageVm..changeQueryMap({
- "isCollection": _newsQueryMap['isCollection'],
- })..retryRequest();
- }
- }
|