소스 검색

Merge branch '2023-9-1_多选'

liushengqiang 1 년 전
부모
커밋
fa43b1e51d
1개의 변경된 파일8개의 추가작업 그리고 6개의 파일을 삭제
  1. 8 6
      src/pc/home/index.tsx

+ 8 - 6
src/pc/home/index.tsx

@@ -259,14 +259,14 @@ export default defineComponent({
 				if (data.multiSelectList.length === 0) {
 					data.multiSelectList.push(active);
 				}
-				console.log("🚀 ~ data.multiSelectList:", data.multiSelectList);
 				if (data.multiSelectList.length > 0) {
 					data.multilList = [];
 					if (data.multiSelectList[0].startChar > active.startChar) {
-						data.multiSelectList = [active, data.multiSelectList[0]];
+						data.multiSelectList = [cleanDeep(data.multiSelectList[1]), cleanDeep(active)];
 					} else {
-						data.multiSelectList = [data.multiSelectList[0], active];
+						data.multiSelectList = [cleanDeep(data.multiSelectList[0]), cleanDeep(active)];
 					}
+					console.log(data.multiSelectList[0].startChar, data.multiSelectList[1].startChar)
 					data.multiSelectList = data.multiSelectList.sort((a, b) => a.startChar - b.startChar);
 					data.multilList = getmutilList();
 					handleChange({ type: "multiSelect", value: "" });
@@ -306,7 +306,7 @@ export default defineComponent({
 			const start = data.multiSelectList[0];
 			const end = data.multiSelectList[1];
 			const list = [] as any[];
-			console.log("🚀 ~ start:", start.noteIndex, end.noteIndex);
+			// console.log("🚀 ~ start:", start.noteIndex, end.noteIndex);
 			for (let i = start.measureIndex; i < end.measureIndex + 1; i++) {
 				const measure = abcData.abc.measures[i];
 				for (let j = 0; j < measure.notes.length; j++) {
@@ -1441,16 +1441,18 @@ export default defineComponent({
 			}
 
 			if (e.key.toLocaleLowerCase() === "shift") {
-				data.multiSelect = true;
-				if (data.active?.el_type === "note") {
+				if (!data.multiSelect && data.active?.el_type === "note") {
+					console.log("shift 按下")
 					data.multiSelectList = [cleanDeep(data.active)];
 				}
+				data.multiSelect = true;
 			}
 		};
 
 		const handleKeyUp = (e: KeyboardEvent) => {
 			if ((e.target as HTMLElement).nodeName === "INPUT") return;
 			if (e.key.toLocaleLowerCase() === "shift") {
+				console.log("shift 抬起")
 				data.multiSelect = false;
 			}