lqg 11 months ago
parent
commit
3f3d99ba92
3 changed files with 26 additions and 22 deletions
  1. 1 1
      README.md
  2. 6 7
      lib/pages/second/second_controller.dart
  3. 19 14
      lib/pages/second/second_view.dart

+ 1 - 1
README.md

@@ -1,6 +1,6 @@
 # get_demo
 
-A new Flutter project.
+flutter getx demo 例子,
 
 ## Getting Started
 

+ 6 - 7
lib/pages/second/second_controller.dart

@@ -3,32 +3,31 @@ import 'package:get_demo/models/good_model.dart';
 import 'package:get_demo/pages/home/home_controller.dart';
 
 class SecondController extends GetxController {
-  GoodsModel result = GoodsModel();
+  GoodsModel goods = GoodsModel();
 
   ///获取home页面的controller
-  final controllerP = Get.find<HomeController>();
+  final homeController = Get.find<HomeController>();
 
   ///如果home的存储收藏的likeList里的实例的sId包含了当前实例的sId,返回true
   bool isLike(GoodsModel result) {
-    return controllerP.likeList.any((element) => element.sId == result.sId);
+    return homeController.likeList.any((element) => element.sId == result.sId);
   }
 
   ///把当前实例存储到likeList里
   addLike(GoodsModel result) {
-    controllerP.likeList.add(result);
+    homeController.likeList.add(result);
   }
 
   ///从likeList移除当前实例
   removeLike(GoodsModel result) {
-    controllerP.likeList.remove(result);
+    homeController.likeList.remove(result);
   }
 
   @override
   void onInit() {
     super.onInit();
-
     ///接收第一页传过来的实例,赋值给Detail
-    result = Get.arguments;
+    goods = Get.arguments;
   }
 
   @override

+ 19 - 14
lib/pages/second/second_view.dart

@@ -19,20 +19,25 @@ class SecondView extends GetView<SecondController> {
               icon: const Icon(Icons.arrow_back)),
         ),
         body: Obx(() {
-          return Row(
-            children: [
-              Text(controller.result.title ?? ''),
-              IconButton(
-                  onPressed: () {
-                    controller.isLike(controller.result)
-                        ? controller.removeLike(controller.result)
-                        : controller.addLike(controller.result);
-                  },
-                  icon: Icon(Icons.favorite,
-                      color: controller.isLike(controller.result)
-                          ? Colors.red
-                          : Colors.grey))
-            ],
+          return InkWell(
+            onTap: () {
+              controller.isLike(controller.goods)
+                  ? controller.removeLike(controller.goods)
+                  : controller.addLike(controller.goods);
+            },
+            child: Row(
+              children: [
+                Text(controller.goods.title ?? ''),
+                SizedBox(width: 10),
+                Icon(Icons.favorite,
+                    color: controller.isLike(controller.goods)
+                        ? Colors.red
+                        : Colors.grey),
+                SizedBox(
+                  height: 10,
+                )
+              ],
+            ),
           );
         }));
   }