Pārlūkot izejas kodu

feat: 处理音乐专辑列表,自动被选中

Damon 8 mēneši atpakaļ
vecāks
revīzija
096d6db06a
2 mainītis faili ar 29 papildinājumiem un 5 dzēšanām
  1. 27 3
      src/views/music/album/detail.vue
  2. 2 2
      src/views/music/menu/detail.vue

+ 27 - 3
src/views/music/album/detail.vue

@@ -376,6 +376,8 @@ export default {
       disabled: false,
       // 是否已选
       disabledChecked: false,
+      ///被选中数据是否加载完
+      isLoad: false,
     };
   },
   mounted() {
@@ -395,9 +397,11 @@ export default {
     },
 
     handleSelectionChange(val) {
-      this.form.programList = JSON.parse(JSON.stringify(val));
-      this.form.programList = this.form.programList.filter((i) => i);
-      this.$message.success("操作成功!");
+      if (this.isLoad) {
+        this.form.programList = JSON.parse(JSON.stringify(val));
+        this.form.programList = this.form.programList.filter((i) => i);
+        this.$message.success("操作成功!");
+      }
     },
 
     //是否展示排序
@@ -456,6 +460,26 @@ export default {
           this.tableData = res.data.records;
           this.total = res.data.total;
           this.loading = false;
+
+          this.isLoad = false;
+          if (this.form.programList.length > 0) {
+            var temp = [];
+            for (var i = 0; i < this.tableData.length; i++) {
+              for (var j = 0; j < this.form.programList.length; j++) {
+                if (this.form.programList[j].id === this.tableData[i].id) {
+                  temp.push(this.tableData[i]);
+                  break;
+                }
+              }
+            }
+
+            if (temp.length > 0) {
+              temp.forEach((item) => {
+                this.$refs.multipleTable.toggleRowSelection(item, true);
+              });
+            }
+          }
+          this.isLoad = true;
         }
       });
     },

+ 2 - 2
src/views/music/menu/detail.vue

@@ -381,7 +381,7 @@ export default {
       disabled: false,
       // 是否已选
       disabledChecked: false,
-      ///是否加载完
+      ///被选中数据是否加载完
       isLoad: false,
     };
   },
@@ -474,8 +474,8 @@ export default {
               });
             }
           }
+          this.isLoad = true;
         }
-        this.isLoad = true;
       });
     },