리스트뷰를 뿌려주던 도중 테이블의 검색 부분에 문제가 생겼다.

 

아직 api가 없어서 실제 발생한 문제는 아니지만

검색창에 검색어를 입력해둔 상태에서 이동 버튼을 클릭해도

새로 입력된 글자 기준으로 요청 파라미터를 날려버렸다.

 

해당 문제를 해결하기 위해 곰곰이 생각해본 결과

검색창의 내용을 1회용으로 사용하기에는

이동할 때도 이전 쿼리에 사용한 데이터를 기준으로 진행해야하고

정렬 등을 진행하더라도 검색어는 존재하긴 해야했다.

 

그래서 다시 생각해보니 검색어로 들어간 값은 beforeXxxx에 따로 저장하고

검색어로 검색하는 버튼 부분을 눌렀을 때만

검색용 값인 afterXxxx를 현재 검색어인 beforeXxxx로 변경해줬다.

 

LWC에서 stripe로 테이블을 만들고 싶었지만

동적인 할당 자체가 불가능했고 연산식, 삼항연산자, 함수 등을 사용할 수 없었다.

 

결국 class 부여로 다시 문제를 해결했는데

신기하게도 처음에는 들어가지 않고 한번 더 클릭해야만 들어가는 것을 보고

테이블이 랜더링 되지 않은 경우 값이 들어가지 않는다는 사실을 알게되었다.

 

해당 문제는 결론적으로 적용 시점이 문제였기 때문에

랜더링이 끝난 이후 시점에 지연실행되도록 then이 아닌 finally에 넣어 문제를 해결했다.

const input = `-3 6
5`.split('\n')
const [x, y] = input[0].split(' ').map(Number)
const r = Number(input[1])

console.log(x+r,y+r)
console.log(x+r,y-r)
console.log(x-r,y-r)
console.log(x-r,y+r)

 

 

(1).백준 23375번 Arm Coordination은 이상한 설명과 이상한 테스트케이스로 살짝 혼란스러운 문제였다.

 

문제만 보면 간단히 원을 가둘 수 있는 정사각형을 만드는 것이었기 때문에

고정점에서 반지름반큼의 거리에 접해있는 사각형을 만들면 되는데

테스트케이스에서는 일반적 정사각형이 아닌 마름모 느낌으로 정사각형을 만들어서 잠깐 헷갈렸지만

간단히 중앙에서 반지름만큼 움직인 거리의 사각형을 출력해서 해결했다.

const input = `-3 6
5`.split('\n')
const [x, y] = input[0].split(' ').map(Number)
const r = Number(input[1])

console.log(x+r,y+r)
console.log(x+r,y-r)
console.log(x-r,y-r)
console.log(x-r,y+r)

'회고' 카테고리의 다른 글

[개발일지] - 182(연차)  (0) 2023.12.29
[개발일지] - 181  (0) 2023.12.28
[개발일지] - 179  (0) 2023.12.26
[개발일지] - 178(크리스마스)  (0) 2023.12.25
[개발일지] - 177(주말)  (0) 2023.12.24

+ Recent posts