Browse Source

Handle backspace

Christopher Chedeau 5 năm trước cách đây
mục cha
commit
3769c4af00
1 tập tin đã thay đổi với 17 bổ sung0 xóa
  1. 17 0
      src/index.js

+ 17 - 0
src/index.js

@@ -117,6 +117,23 @@ function setSelection(selection) {
 function App() {
   const [draggingElement, setDraggingElement] = React.useState(null);
   const [elementType, setElementType] = React.useState("selection");
+  const onKeyDown = React.useCallback(event => {
+    if (event.key === "Backspace") {
+      for (var i = elements.length - 1; i >= 0; --i) {
+        if (elements[i].isSelected) {
+          elements.splice(i, 1);
+        }
+      }
+      drawScene();
+    }
+  }, []);
+  React.useEffect(() => {
+    document.addEventListener("keydown", onKeyDown, false);
+    return () => {
+      document.removeEventListener("keydown", onKeyDown, false);
+    };
+  }, [onKeyDown]);
+
   function ElementOption({ type, children }) {
     return (
       <label>