Note
선택 불가능한 콤보 박스 만들기 - disabled

- Detail - 부모
- "Detail"은 자식 컴포넌트를 의미한다.
- <Detail :statusCdList1="statusCdList2"/>
- 자식 컴포넌트 Detail 에게 statusCdList2라는 데이터를 보내서 자식 컴포넌트의 변수 statusCdList1에 값을 전달한다.
- 코드 리스트는 statusCdList변수를 선언과 동시에 store에서 데이터를 가져와서 statusCdList에 저장한다.
- view 라는 컴포넌트가 DOM에 렌더링되자마자 실행되도록 onMounted() 메서드 안에 코드 리스트 가져오는 getCodeList()를 넣어줘야한다.
java
열기
- Detail - 자식
- HTML의 disable 속성을 이용하면 콤보 박스로 표시되지만 다른 값으로 선택은 할 수 없도록 설정 가능하다.
- 다음과 같이 기존에 만들어둔 CodeStore.js 파일에서 선언한 get 메서드를 호출해서 원하는 그룹의 코드 리스트를 가져올 수 있다.
- 아래 컴포넌트의 변수 statusCdList로 선언하고 Vue.js에서 가져온 데이터를 저장한다.
- defineProps(): Vue.js3에 도입된 Composition API의 일부이다.
- 부모 => 자식 컴포넌트로 전달된 props 객체를 정의한다.
- 부모 컴포넌트에서 보낸 statusCdList를 가지고 콤보 박스로 데이터를 표현할 수 있다.
java
열기
특정 경우에만 버튼이 보이도록 설정 (v-if 사용 방법)
- Model의 상태 코드가 "생성"인 경우에만 특정 버튼이 보이도록 구현하려고 한다.
- 버튼 태그 안에 v-if를 이용해서 조건문을 넣을 수 있다.
- "statusCode == 'CREATED' "라는 조건을 따옴표로 감싸서 넣어준다. 조건문 안에 있는 문자열은 홑따옴표(')로 감싸준다.
- type = "primary"는 버튼의 배경색이 강조되서 눈에 띄게 표시된다. type으로 지정할 수 있는 값은 success, warning, danger, info 가 있으며 각 속성의 색을 다르게 지정할 수 있다.
html
열기
modal(모달, 팝업) 창에 컴포넌트 띄우기
- 컴포넌트에 여러 개의 자식 컴포넌트를 넣으나 팝업 창 안에 컴포넌트 여러 개를 넣으나 구현하는 방법은 똑같다. 단지, <el-dialog>로 감싸는지 아닌지의 여부만 다르다.
- <el-dialog
- v-model="dialogVisible" :title="모달타이틀">
- v-model은 Vue.js에서 제공하는 양방향 데이터 바인딩 기능 중 하나이다.
- 모달 다이얼로그 안에서 사용자가 입력하는 값과 Vue.js 앱의 데이터를 동기화 가능하다.
- dialogVisible는 <script > 코드 안에 변수로 선언한 값이다.
- v-model을 사용하면 팝업 창의 열림 / 닫힘 상태를 나타내는 변수를 선언하고 해당 변수를 양방향 데이터 바인딩할 수 있다.
- <자식 컴포넌트 (변수, 메서드 전달) />
- v-model="dialogVisible" :title="모달타이틀">
- <script > 코드 안에 다음과 같이 선언해서 true / false 로 팝업 창을 열고 닫을 수 있다.
java
열기
Map => Json 형태의 String 변환 - Java
- Gson이란?
- 구글에서 만든 Java용 Json 라이브러리이다.
- Gson을 이용하면 Java 객체 <=> Json 데이터, 양방향으로 변환 가능하다.
Ex) 변환 예시
- 아래과 같이 Map에 key-value형태로 데이터를 넣어준다.
- new Gson().toJson(hyperParamMap)
- Map 형태의 hyperParamMap를 Json 모양의 String으로 바꿀 수 있다.
- map = {"key1": "value1", "key2": "value2"} 와 같이 저장하고나서
- toJson() 안에 매개변수로 넣어주면
- String 형태인 "{"key1": "value1", "key2": "value2"} " 으로 변환된다.
java
열기title
- content
'개발 일지 > 주간 개발 일지' 카테고리의 다른 글
[06월 1주차] Spring VM 옵션 설정 방법, JVM 구조 (4) | 2023.06.05 |
---|---|
[05월 3주차] querydsl JOIN 방법 (0) | 2023.05.15 |
[05월 1주차] 프론트엔드 에러 해결 및 querydsl -BooleanExpression을 활용한 리팩토링 (0) | 2023.05.06 |
[04월 4주차] 프론트엔드 디버깅 방법, PostgreSQL 필드 변경 시 MySQL 과 문법상 차이점 (0) | 2023.04.30 |
[04월 3주차] Vue.js 3 과 Spring (0) | 2023.04.22 |