Ver código fonte

键盘多个复制粘贴

ZaiZai 2 anos atrás
pai
commit
4bad2d3414
1 arquivos alterados com 27 adições e 23 exclusões
  1. 27 23
      src/components/table-form/index.vue

+ 27 - 23
src/components/table-form/index.vue

@@ -320,34 +320,38 @@ document.onkeydown = (event) => {
     //按下复制快捷键
     if (ctrlKey && key === 'c') {
         const keysList = deepClone(checkKeyList.value)
-        setStoreData('TableFormCopyKeyList', keysList)
-        copyKeyList.value = keysList
-        keysList.forEach(item => {
-            HTableForm.setCheckKeyStyle(item['key'], true)
-        })
-        checkKeyList.value = []
+        if (keysList.length > 0) {
+            setStoreData('TableFormCopyKeyList', keysList)
+            copyKeyList.value = keysList
+            keysList.forEach(item => {
+                HTableForm.setCheckKeyStyle(item['key'], true)
+            })
+            checkKeyList.value = []
+        }
     }
     //按下粘贴快捷键
     if (ctrlKey && key === 'v') {
         const keysList = deepClone(copyKeyList.value)
         const checkList = checkKeyList.value
-        const form = tableFormInfo.value
-        checkList.forEach((item) => {
-            const form_key = item['key']
-            const item_value = form[form_key]
-            if (keysList.length > 0) {
-                const val = form[keysList[0]['key']]
-                tableFormInfo.value[form_key] = val ? val : item_value
-                keysList.splice(0, 1) //删除第一个元素
-            } else {
-                tableFormInfo.value[form_key] = item_value
-            }
-            HTableForm.setCheckKeyStyle(form_key, true)
-        })
-        //清除缓存
-        checkKeyList.value = []
-        copyKeyList.value = []
-        delStoreData('TableFormCopyKeyList')
+        if (checkList.length > 0) {
+            const form = tableFormInfo.value
+            checkList.forEach((item) => {
+                const form_key = item['key']
+                const item_value = form[form_key]
+                if (keysList.length > 0) {
+                    const val = form[keysList[0]['key']]
+                    tableFormInfo.value[form_key] = val ? val : item_value
+                    keysList.splice(0, 1) //删除第一个元素
+                } else {
+                    tableFormInfo.value[form_key] = item_value
+                }
+                HTableForm.setCheckKeyStyle(form_key, true)
+            })
+            //清除缓存
+            checkKeyList.value = []
+            copyKeyList.value = []
+            delStoreData('TableFormCopyKeyList')
+        }
     }
 }