이슈폭탄 뉴우스~
- console 창에 의문의 merge 에러 등 수십줄의 에러
- vue-codemirror 도려내고 순수 codemirror 사용하여 충돌해결 . import 할때 merge랑 props에 넘겨주던 merge가 역할이 다른데 이름이 같아서 충돌한듯. 그리 고 나머지 에러도 codemirror에 직접접근하지않고 div에 ref로 연결해서 인스턴스만드는식으로 하니 자동해결
- 드롭다운 메뉴가 컨트롤 스페이스눌러야만 작동
- 다른 이벤트 리스너를 등록하여 자동으로 렌더링 되게 해결(순수라이브러리를 쓰냐 혹은 프레임워크에 맞게 래핑된것을 쓰냐에 따라 받을 수 있는 이벤트 리스너가 다른듯 ㅅㅂ)
- 오또콤풀릿 사용 시 일부 입력한 텍스트에 덮어쓰기가 되지않음
- codemirror의 replaceRange 옵션을 사용하여 절반해결. codemirror의 자바스크립트 모드에선 내가 입력한 코드와 자동완성메뉴 안의 내용이 타입이 달라서인 지 다르게 인식하여 덮어쓰기가 일부만 안되는듯함(startsWith,includes메서드로 증명, 그리고 색깔 하이라이팅되는거 봐도 좀 다른듯)
- 이거는 보완할것이 좀 많음. 오또콤풀릿을 사용해서 text를 수정할때 어디부터 수정할지 내가 직접구현해야할듯함.
- 관제점 추천식이 아닌 실제 계산식 컴포넌트에서 데이터 계산 속도의 차이로 인해 컴포넌트가 렌더링되지않음
- v-if="activeTab.id == 'logic' && isLogicReady" 이런식으로 계산이 되었을때만 렌더링되도록 추가
- codemirror 컴포넌트는 해당 페이지내에서 재사용성이 높고, 많은 스크립트 코드와 이슈해결을 위해선 관심사 분리를 위해 컴포넌트 단위로 분리하는게 좋아보임
- 기존 코드는 PROPS에 :readonly="!isVariable" @input="regularCheckWithPoint" 라는 코드가 있었는데 어떻게 적용시킬지?
- 기존에 자동완성 메뉴가 하나면 그냥 드롭다운 메뉴표시안하고 그냥 자동완성해버리던 이슈
- 옵션에 그거 그렇게 할지 드롭다운메뉴표시할지 정하는 옵션이 있었음
- 관제점 공식 계산식페이지 마운트 시 자동으로 드롭다운메뉴를 렌더링하던 이슈
- 아마 라이프사이클과 관련있을듯 싶으나. 입력이 실제 사용자의 입력인지를 판별할 수 있는 정규식코드 작성으로 해결
- 자동완성과 관련없는 계산식을 입력하여도 자동완성 드롭다운 메뉴가 렌더링되던이슈
- filter메서드의 결과배열의 길이에따라 return null;을 통해 해결
- 중국인이 만든듯한 vue-codemirror에서는 우째된게 컴포넌트 아래가 비어보였는데 지금은 다른 이슈로 인해서 vue-codemirror를 도려내고 순수 codemirror를 적용시켰더니 컴포넌트의 위아래 다 막혀있어서 디자인이 더 깔끔함(원래는 컴포넌트의 하단부분에 경계선이 없어서 뭔가 만들다 만듯한 느낌이었음)
- 항상 느끼지만 원래 있던 라이브러리를 래핑해서 만든 라이브러리중에 쓸만한건 찾기 힘든거같다. 예전에 react-quill쓸때도 툴바 두번렌더링되던거 순수 quill적용시키니 바로해결된거같이... 앞으로도 웬만하면 순수 라이브러리를 써야겠다.