GRID FEATURE
편집 이력
기록된 편집 트랜잭션을 되돌리거나 다시 적용합니다. 한 작업에 여러 셀 변경이 포함될 수 있으므로 셀 수와 이력 수를 같다고 가정하지 마세요.
동작 원리와 선택 기준
새 편집을 수행하면 되돌린 뒤의 다시 실행 경로가 달라질 수 있습니다. 화면 초기화·데이터 교체와 이력 유지 정책도 함께 결정합니다.
코드의 grid는 설치와 연결 장에서 준비한 Grid 요소입니다. 예제마다 필요한 데이터·설정을 확인하고, 코드에서 소개하는 앱 함수와 서버 주소는 프로젝트에 맞게 구현하세요.
예제 1. 실수로 바꾼 값 되돌리기
수량을 편집하고 확정한 뒤 이전 값으로 되돌립니다.
console.log(await grid.getUndoRedoDepth());
console.log(await grid.undo());결과 확인: 직전 기록 작업이 이전 값으로 돌아갑니다. 되돌릴 작업이 없을 때는 버튼을 비활성화합니다.
예제 2. 되돌린 작업 다시 적용
다시 실행 가능한 이력이 있을 때 호출합니다.
console.log(await grid.redo());결과 확인: 같은 작업이 재적용됩니다. undo 직후 새 편집을 했다면 기존 redo 가능 여부를 다시 읽어야 합니다.
예제 3. 업무 대상 전환 시 이력 정리
다른 주문 데이터셋을 열기 전에 이전 화면의 이력을 제거하는 정책입니다.
await grid.clearHistory();
grid.addEventListener('historyChanged', event => console.log(event.detail));결과 확인: 이전 업무의 변경을 새 데이터에 되돌리지 않도록 합니다. 이것은 데이터 스냅샷 삭제나 서버 기록 삭제가 아닙니다.
조합할 때와 문제를 해결할 때
undo가 브라우저에서 값을 되돌렸다고 서버도 자동으로 돌아가는 것은 아닙니다. 되돌림을 서버에 저장할지 별도의 보상 작업으로 처리할지 정하세요.
이력 개수와 실제 버튼 상태를 동기화하고, 배치 편집·채우기처럼 다중 변경을 포함한 작업도 검증하세요.
함께 읽기
- 행·열·ID의 관계
- 결과와 이벤트 연결
- Features에서 살펴보기
직접 체험 가능한 범위는 해당 가이드에 안내되어 있습니다.