Item.vue
-> 수정 전
<!-- 품목 자산 분류 -->
<CodeHelp :master-seq="1"
:is-filter="false"
v-model="kwdItemType"
@update:modelValue="doSearch"
@onChange="onChange"
density="compact"
variant="outlined">
</CodeHelp>
원래 v-model 과 modelValue, @update: 이용해서 값이 update 되면 doSearch() 가 실행되도록 짰는데
@onChange: 만 이용하는 것으로 변경하려고 한다.
-> 수정 후
<!-- 품목 자산 분류 -->
<CodeHelp :master-seq="1"
:is-filter="false"
@onChange="onChange"
density="compact"
variant="outlined">
</CodeHelp>
const onChange = (val) => {
consoleLog("CodeHelp 값 변경:", val);
kwdItemType.value = val; // 선택 값 반영
doSearch(); // 바로 검색 실행
};
doSearh 는 변경사항 없이 그대로 둔다.
// 조회
const doSearch = () => {
doSearchPaging(sheet1, {
url: "../item/item.do",
method: "POST",
reqHeader: {"Content-Type": "application/json"},
param: {
data: {
kwdItemName: kwdItemName.value,
kwdItemNo: kwdItemNo.value,
kwdItemType: kwdItemType.value?.detailSeq ? kwdItemType.value?.detailSeq : null,
}
},
})
};
kwdItemType은 아래에 설명이 있음. 객체라서 .detailSeq로 꺼내서 서버로 넘김.
CodeHelp 에서 처리가 되는 게 아니라 AutoComplete.vue나 Select.vue 로 넘어가고, 여기에서 처리한다.
AutoComplete에서 사용자가 선택하면 emit("onChange", {...}) 발생



AutoComplete.vue와 Select.vue 둘 다 마찬가지로 return-object 를 쓰기 때문에 객체가 넘어온다.
하위 컴포넌트(Select / AutoComplete)
→ return-object라서 선택하면 { codeName, detailSeq, masterSeq, ... } 객체 전체가 넘어옴.
그래서 서버로 값 넘길 때 (detailSeq만 넘기려고 하니까)
kwdItemType.value.detailSeq 로 넘기는 것이다.
'웹 개발 > [KLOZ] 웹 프로젝트' 카테고리의 다른 글
| [WebOrder] 다국어 처리 (VueDatePicker, IBSheet) (0) | 2025.10.21 |
|---|---|
| [WebOrder] 이미지 출력 (Vue dialog, IBSheet) (0) | 2025.09.30 |
| [WebOrder] vuetify rules 사용 (0) | 2025.09.18 |
| [WebOrder] $t 정의 에러, vue-i18n (0) | 2025.09.15 |
| [WebOrder] IBSheet 셀 내 데이터 수정하기 (ON DUPLICATE KEY UPDATE) (0) | 2025.09.04 |