Преглед изворни кода

[fix]亲密度分析,亲密度分析,亲密度分析报告Tab和截图回复Tab,禁止互相滑动切换

hezihao пре 7 месеци
родитељ
комит
872170c68f

+ 3 - 0
lib/module/intimacy_analyse/intimacy_analyse_controller.dart

@@ -24,6 +24,9 @@ class IntimacyAnalyseController extends BaseController
   /// PageView控制器
   late final PageController pageController;
 
+  /// PageView是否允许滑动切换
+  RxBool isPageViewSwipeEnabled = false.obs;
+
   @override
   void onInit() {
     super.onInit();

+ 23 - 14
lib/module/intimacy_analyse/intimacy_analyse_page.dart

@@ -154,19 +154,28 @@ class IntimacyAnalysePage extends BasePage<IntimacyAnalyseController> {
 
   /// PageView
   Widget _buildContent() {
-    return Expanded(
-      child: NestedPageView(
-        controller: controller.pageController,
-        onPageChanged: (index) {
-          controller.handlePageChange(index);
-        },
-        children: [
-          // 报告Tab
-          IntimacyAnalyseReportView(),
-          // 截图回复Tab
-          IntimacyAnalyseScreenshotReplyView(),
-        ],
-      ),
-    );
+    return Obx(() {
+      return Expanded(
+        child: NestedPageView(
+          controller: controller.pageController,
+          // 保持页面缓存
+          wantKeepAlive: true,
+          // 是否禁止滑动切换
+          physics:
+              controller.isPageViewSwipeEnabled.value
+                  ? ScrollPhysics()
+                  : NeverScrollableScrollPhysics(),
+          onPageChanged: (index) {
+            controller.handlePageChange(index);
+          },
+          children: [
+            // 报告Tab
+            IntimacyAnalyseReportView(),
+            // 截图回复Tab
+            IntimacyAnalyseScreenshotReplyView(),
+          ],
+        ),
+      );
+    });
   }
 }