VueJS 그리드에서 refresh() 호출 없이 formatItem 재호출하는 방법이 있나요?
페이지 정보
작성자 thssla 작성일 2024-02-13 11:37 조회 92회 댓글 0건본문
관련링크
안녕하세요.
grid.collectionView.filter를 활용해서 사용자 입력으로부터 row 필터링하는 기능을 개발 중입니다.
데이터가 30,581건인데 그리드 필터 적용시 2초 내외로 소요됩니다.
필터 적용 후 결과 강조를 위해 formatItem에 아래와 같은 코드를 사용해서 강조처리를 하고 있는데
formatItem 호출을 위해 collectionView.refresh() 호출시 filter가 다시 호출되며 2초 내외로 소모됩니다.
const formatItem = (s: FlexGrid, e: FormatItemEventArgs) => {
if (!state.resultHighlight) return;
const col: Column = e.getColumn(); //s.columns.getColumn(e.col);
const row: Row = e.getRow();
let _class = 'search-result';
const focusItem = state.currentCell;
if (focusItem?.col == col.index && focusItem?.row == row.index) {
_class += ' search-focus';
}
e.cell.className = _class; };
refresh가 전체 collectionView가 갱신되며 filter까지 재호출 되는걸로 여겨집니다.
제가 의도한 동작과는 다르지만 refresh 동작 자체는 합리적인 것 같습니다.
refresh 없이 눈에 보이는 셀만 갱신할 수 있도록 formatItem을 호출하는 방법이 있나요?
댓글목록
등록된 댓글이 없습니다.