안녕하세요

드래그 앤 드롭 이벤트 본문

데이터시각화-KMG

드래그 앤 드롭 이벤트

sakuraop 2023. 6. 15. 21:27

 

    <AttachmentPageBox onDragOver={handleDragOver}>
      {screenWidth > 769 && dragging && (
        <TempBox onDragEnd={handleDragEnd} onDragLeave={handleDragLeave} onDrop={handleDrop}>
          <VscNewFile size={60} />
          <Span fontSize="20px" color="#fff">
            Drop Files Here
          </Span>
        </TempBox>
      )}
      <AttachmentSection />
      <AttachmentDescriptionSection />
    </AttachmentPageBox>

React 컴포넌트에서 드래그 이벤트를 처리

dragging은 드래그 동작이 현재 진행 중인지를 나타내는 state

드래그가 아닐 때에는 false, 드래그 중일때는 true가 되어 드롭 영역이 나타나도록 한다.

 

  const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {
    e.preventDefault();
    setDragging(true);
  };

=> 드래그 이벤트는 e.preventDefault(); 로 기본 동작을 막아주도록 한다.

 

handleDragOver

페이지에서 드래그 중일 때 드롭영역이 나타나게

 

handleDragEnd

드래그 동작을 끝냈을 때 드롭영역이 사라지게


handleDragLeave

드래그 중에 마우스가 페이지 또는 브라우저 외의 영역으로 벗어날 때 드롭영역이 사라지게


handleDrop

드롭된 파일들을 pushNewlyAttachedFiles 함수에 전달 파일을 slice에 저장시킨다.

 

드래그 이벤트 종류

https://learn.microsoft.com/ko-kr/dotnet/desktop/winforms/input-mouse/events?view=netdesktop-7.0 

 

마우스 이벤트 사용 - Windows Forms .NET

마우스 이벤트를 사용하여 마우스 입력을 처리하는 방법을 간략하게 설명합니다. 각 이벤트는 연결된 데이터를 제공할 수 있습니다. 이 문서에서는 마우스 관련 이벤트 목록을 제공합니다.

learn.microsoft.com