From 310062513bd0c67c6688932fe71c62eb55daf04c Mon Sep 17 00:00:00 2001 From: liyi Date: Mon, 12 May 2025 13:57:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=94=81=E4=B9=8B=E5=90=8E=E4=B8=8D=E5=87=BA=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuringWifi_logic.dart | 2 +- .../lockMian/lockList/lockList_logic.dart | 19 +++++----- lib/main/lockMian/lockList/lockList_page.dart | 37 +++++++++---------- 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/lib/main/lockDetail/lockSet/configuringWifi/configuringWifi/configuringWifi_logic.dart b/lib/main/lockDetail/lockSet/configuringWifi/configuringWifi/configuringWifi_logic.dart index 7b266390..6f0a4570 100755 --- a/lib/main/lockDetail/lockSet/configuringWifi/configuringWifi/configuringWifi_logic.dart +++ b/lib/main/lockDetail/lockSet/configuringWifi/configuringWifi/configuringWifi_logic.dart @@ -189,7 +189,7 @@ class ConfiguringWifiLogic extends BaseGetXController { Get.offAllNamed(Routers.starLockMain); } eventBus.fire(SuccessfulDistributionNetwork()); - eventBus.fire(RefreshLockListInfoDataEvent()); + eventBus.fire(RefreshLockListInfoDataEvent(clearScanDevices: true,isUnShowLoading: true)); }); // 获取锁设置 diff --git a/lib/main/lockMian/lockList/lockList_logic.dart b/lib/main/lockMian/lockList/lockList_logic.dart index 76a9bb2b..948546d3 100755 --- a/lib/main/lockMian/lockList/lockList_logic.dart +++ b/lib/main/lockMian/lockList/lockList_logic.dart @@ -27,13 +27,13 @@ class LockListLogic extends BaseGetXController { LockListLogic(this.entity) {} LockListState state = LockListState(); - List _groupDataList = []; + final RxList groupDataList = [].obs; LockListInfoGroupEntity? entity; final ShowTipView showTipView = ShowTipView(); - List get groupDataList { + List get groupDataListFiltered { final List list = - _groupDataList.map((GroupList e) => e.copy()).toList(); + groupDataList.map((GroupList e) => e.copy()).toList(); if (state.searchStr.value != '' && state.showSearch.value) { list.forEach((GroupList element) { element.lockList?.removeWhere((LockListInfoItemEntity element) => @@ -60,11 +60,7 @@ class LockListLogic extends BaseGetXController { //设置数据 void setLockListInfoGroupEntity(LockListInfoGroupEntity entity) { this.entity = entity; - // if (entity.pageNo == 1) { - _groupDataList = []; - // } - _groupDataList.addAll(entity.groupList!); - update(); + groupDataList.value = entity.groupList!; } // 监听蓝牙协议返回结果 @@ -343,8 +339,11 @@ class LockListLogic extends BaseGetXController { @override void onInit() { super.onInit(); - // AppLog.log('onInit调用了 setLockListInfoGroupEntity'); - setLockListInfoGroupEntity(entity!); + AppLog.log('[onInit] entity: \\${entity?.toString()}'); + if (entity != null) { + setLockListInfoGroupEntity(entity!); + } + _initEventHandler(); } @override diff --git a/lib/main/lockMian/lockList/lockList_page.dart b/lib/main/lockMian/lockList/lockList_page.dart index 1e53cdb9..55cb149a 100755 --- a/lib/main/lockMian/lockList/lockList_page.dart +++ b/lib/main/lockMian/lockList/lockList_page.dart @@ -37,32 +37,31 @@ class _LockListPageState extends State with RouteAware { @override Widget build(BuildContext context) { - return GetBuilder(builder: (LockListLogic logic) { - return Scaffold( - body: ListView.separated( - itemCount: logic.groupDataList.length, - itemBuilder: (BuildContext context, int index) { - final GroupList itemData = logic.groupDataList[index]; - return _buildLockExpandedList(context, index, itemData); - }, - shrinkWrap: true, - physics: const AlwaysScrollableScrollPhysics(), - separatorBuilder: (BuildContext context, int index) { - return const Divider( - height: 1, - color: AppColors.greyLineColor, - ); - }), - ); - }); + return Obx(() => Scaffold( + body: ListView.separated( + itemCount: logic.groupDataListFiltered.length, + itemBuilder: (BuildContext context, int index) { + final GroupList itemData = logic.groupDataListFiltered[index]; + return _buildLockExpandedList(context, index, itemData, key: ValueKey(itemData.groupId)); + }, + shrinkWrap: true, + physics: const AlwaysScrollableScrollPhysics(), + separatorBuilder: (BuildContext context, int index) { + return const Divider( + height: 1, + color: AppColors.greyLineColor, + ); + }), + )); } //设备多层级列表 Widget _buildLockExpandedList(BuildContext context, int index, - GroupList itemData) { + GroupList itemData, {Key? key}) { final List lockItemList = itemData.lockList ?? []; return LockListGroupView( + key: key, onTap: () { //是否选中组 if (itemData.isChecked) {} else {}