0814
{ "type": "dropdown", "selectedValue": "MARITIME", "values": [ "MARITIME", "AVIATION", "RAILWAY" ], "key": "TRANSPORTATION_MODE"},{ "type": "dropdown", "selectedValue": { "id": 125, "text": "test client" }, "key": "CLIENT", "searchType": null},{ "type": "dropdown", "selectedValue": { "id": 3, "text": "여행자통관과" }, "key": "CUSTOMS_DEPARTMENT", "searchType": [ { "key": "CUSTOMS" } ]},위쪽이 기존 라이브러리 인터페이스, 아래쪽이 BOMP 커스텀 인터페이스. values가 null이면 debounce 검색 후 select, 배열이 있으면 dropdown select.
- selectedValue가 string인데 보내주는 인터페이스는 객체일 수 있다
- 서버 데이터를 라이브러리에 맞게 필터링해줘야하나? 아니면 라이브러리를 서버 데이터에 맞게 고쳐야하나?
- 이건 라이브러리가 아니라 클라이언트에서 처리하는게 맞다.
- 왜냐하면 변경 가능성이 매우 높기 때문에 엉덩이가 무거운 라이브러리 단계에서 대응하기엔 부적합하다
- values가 없는 경우에 어떻게 대응?
- 기존 라이브러리 인터페이스는
values: {label: string, value: string, isDisabled?: boolean}[]으로 필수값이다 - values가 없을 때 -> placeholder noData를 보여주고, inputValue에 debounce걸어서 검색 API(
/orders/bomp/search/${KEY}?...) 호출 후 데이터 받아 values에 넣어주기. - 기존의 DropdownCellTemplate, DropdownCell 타입을 오버라이드하자