Appearance
입력항목
컴포넌트의 expose 변수 사용
- template ref를 적용한다.
- 선언할때 generic으로 컴포넌트의 타입을 지정한다.
<VmSearch ref="searchRef" />
import VmSearch from '@/core/components/form/VmSearch.vue'
const searchRef = ref<InstanceType<typeof VmSearch>>()
function query() {
searchRef.value.inputRef
}
VmSearch
input type=search의 입력항목을 생성한다. search는 값이 있으면 삭제마크(x) 가 표시된다.
- Props
modelValue-string | number | null | undefined. v-model과 연결되는 변수label? -string. 입력항목의 제목name? -string<input>의 name 속성. 필수입력 검사와 container에서 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.mask? -Mask. 마스킹이름. 마스킹은 입력양식을 미리 정해진대로 입력하기 위해 사용된다.maskOption? -InputmaskOptions. 마스킹 할때 세부옵션text? - input tag 대신 span으로 감싼 텍스트만 표시한다.d? -boolean디버그 정보 표시
- Emits
update:modelValue- @parameter
value선택된 값
- @parameter
(e: 'update:modelValue', value: string): void - slot
없음 - expose
inputRef-Ref<HTMLInputElement>실제 input element
- Usage
<VmSearch v-model="data.text" label="" required mask="tel" :maskOption="{}" :disabled="checkDisabled" />
VmSelect
- Props
modelValue-string | null. v-modellabel? -string. 입력항목의 제목name? -string<select>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.defaultValue? -string. 로딩후 기본 선택될 값defaultIndex? -number. 로딩후 기본 선택될 인덱스width? -string.style? -object.tableId? -string. 서버에서 불러올 코드 목록의 mybatis id. tableId가 있으면 items는 무시된다.code? -string. 조회할 코드의 조건 공통 코드items? -CodeNameItem[]. tableId를 통한 서버 데이터가 아닌 자체로 생성한 option용 CodeNameItem 배열optionFirst? -OptionFirst. 제일 상위에 표시할 텍스트ALL | CHOOSEparentCode? -string. 상위컬럼에 해당하는 v-model 변수명. 현재 model이 "모듈"이고 상위 model이 "시스템" 이라면parent-code="systemCd"parentName? -string. 상위컬럼이 선택 안되있을때 표시할 이름. "시스템을 선택하세요" 텍스트가 표시된다.parent-name="시스템"parentModel? -string | null. 상위컬럼의 값.:parent-model="data.systemCd"d? -boolean디버그 정보 표시
- Emits
update:modelValue- @parameter
value선택된 값
- @parameter
(e: 'update:modelValue', value: string): voidchange선택한 값이 변경될때 후속처리가 필요할때.- @parameter
code선택한 값 - @parameter option 전체 CodeNameItem 리스트
- @parameter event html event
- @parameter
(e: 'change', code?: string, option?: Readonly<CodeNameItem[]>, event?: Event): void - slot
없음 - Usage
<VmSearch v-model="data.select" label="" required default-value="" :default-index="1" width="200px" :style="selectStyle" table-id="CMM_CODE" code="CMM_000" :items="[{code: '', name:''}, {code: '', name:''}]" option-first="CHOOSE" parent-code="systemCd" parent-name="시스템" parent-Model="data.systemCd" >
VmCheckbox
체크박스 입력항목을 생성한다.
체크박스는 여부 와 같은 단일 모드와, 여러 개중에서 선택하는 다중 모드로 만들어진다. table-id나 items 가 있으면 다중 모드이고, 없으면 단일 모드가 된다.
단일모드에서 선택여부에 따른 값은 trueValue와 falseValue로 지정한 값이 사용되는데 미지정하면 DB에 저장될 값인 "1" 또는 "0"이 적용된다.
- Props
modelValue-string | string[] | null | undefined. v-model 값label? -string. 입력항목의 제목name? -string<input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용toggle? -boolean토글버튼으로 표시 여부itemLabel? -string. 체크박스가 여부 체크로 1개만 생성될때 오른쪽에 표시될 라벨tableId? -string. 서버에서 불러올 코드 목록의 mybatis idcode? -string. 서버에서 불러올 코드 목록에 조건으로 사용될 값. CMM_CODE의 코드컬럼.items? -CodeNameItem[]. 다중 선택을 서버에서 불러오지 않고 script에서 직접 배열로 생성한 값required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.trueValue? -string. 체크된 상태 일때의 값. 기본값"1"falseValue? -string. 체크 않된 상태 일때의 값. 기본값"0"disabled? -boolean. 비활성 여부d? -boolean디버그 정보 표시
- Emits
update:modelValue- @parameter
value단일 모드이면 체크 상태에 따라trueValue또는falseValue이고, 다중 모드이면 체크된 값의 배열
- @parameter
(e: 'update:modelValue', value: string | string[] | null): void - slot
없음 - Usage
<VmCheckbox v-model="data.yn" label="사용여부" required required-label="사용여부체크" toggle true-value="Y" false-value="N" item-label="사용/미사용" table-id="CMM_CODE" code="CMM003" items="[{code: '1', name: '사용'}, {code: '0', name: '미사용'}, ]" :disabled="checkDisabled" /> - Example다중 모드는 동일한 v-model을
<template> 단일 여부 선택: <VmCheckbox label="" v-model="" /> 다중 값 선택: <VmCheckbox v-model="" table-id="" code="" /> 또는 <VmCheckbox v-model="" :items="multiCheckValues" /> </template> <script setup lang="ts"> // 체크박스에서 선택할 수 있는 값의 타입 선언 type MultiCheckValueType = 'a' | 'b' | 'c' | 'd' const multiCheckValues: { code: MultiCheckValueType, name: string }[] = [ { code: 'a', name: 'AAA' }, { code: 'b', name: 'BBB' }, { code: 'c', name: 'CCC' }, { code: 'd', name: 'DDD' }, ] </script><VmCheckbox>를 여러개 생성하지 말고table-id또는items를 이용한다.틀림 <VmCheckbox v-model="data.checkbox" true-value="a" item-label="A"/> <VmCheckbox v-model="data.checkbox" true-value="b" item-label="B"/> <VmCheckbox v-model="data.checkbox" true-value="c" item-label="C"/> 맞음 <VmCheckbox v-model="data.checkbox" items="[ {code: 'a', name: 'A'}, {code: 'b', name: 'B'}, {code: 'c', name: 'C'} ]"/>
VmRadio
라디오 입력항목을 생성한다.
- Props
modelValue-string | null | undefinedlabel?string. 입력항목의 제목name? -string<input>의 name속성. 라디오를 같은 그룹으로 묶어준다. 필수입력 검사와 container의 getElement()에서 사용tableId?string. 불러올 코드목록 mybatis idcode?string. CMM_CODE의 코드컬럼. tableId가 있으면 해당 쿼리의 코드값items?CodeNameItem[]. 멀티 선택라디오 버튼의 원천 데이터 목록. db에서 조회하지 않은 프로그램에서 선언한 배열uncheckable? -boolean선택안함 표시 여부disabled?boolean비활성화required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.d? -boolean디버그 정보 표시
- Emits
update:modelValue- @parameter
value선택한 값
- @parameter
(e: 'update:modelValue', value: string): void - slot
없음 - Usage
<VmRadio v-model="" label="라디오" table-id="CMM_CODE" code="CMM003" items="[{code: '1', name: '사용'}, {code: '0', name: '미사용'}, ]" :disabled="checkDisabled" /> - Example
* VmRadio에 선택할 라디오 만큼 items 데이터 입력 <VmRadio v-model="data.multiRadio" :items="radioItems" /> * 서버 코드 <VmRadio label="부서타입" v-model="data.serverRadio" table-id="CMM_CODE" code="CMM003" />
VmDate
형식의 연월일 입력 항목을 생성한다.
- Props
modelValue-Date | string | null | undefined. v-modellabel? -string. 입력항목의 제목name? -string<input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.hideInputIcon? -boolean달력 버튼을 감출지 여부
- Emits
update:modelValue- @parameter
value선택한 일자yyyy-MM-dd
- @parameter
(e: 'update:modelValue', value: string): void - slot
없음 - Usage
<VmDate v-model="" label="" required hide-input-icon />
VmMonth
연월 입력 항목을 생성한다.
- Props
modelValue-string | null | undefined. v-modellabel? -string. 입력항목의 제목name? -string<input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.
- Emits
update:modelValue- @parameter
value선택한 월yyyy-MM
- @parameter
(e: 'update:modelValue', value: string | null): void - slot
없음 - Usage
<VmMonth v-model="" label="" required />
VmYear
- Props
modelValue-string | null | undefined. v-modellabel? -string. 입력항목의 제목name? -string<input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.
- Emits
update:modelValue- @parameter
value선택한 년도yyyy
- @parameter
(e: 'update:modelValue', value: string): void - slot
없음 - Usage
<VmYear v-model="" label="" required />
VmDateRange
날짜를 범위로 입력하는 항목을 생성한다.
Props
stt-string | null | undefined. v-model. 시작 일자end-string | null | undefined. v-model. 종료 일자label? -string. 입력항목의 제목nameStt? -string시작일자 <input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용nameEnd? -string종료일자 <input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredStt? -boolean. 시작일자만 필수. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredEnd? -boolean. 종료일자만 필수. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.d? -boolean디버그 정보 표시
Emits
update:stt- @parameter
value선택한 시작 일자yyyy-MM-dd
- @parameter
update:end- @parameter
value선택한 종료 일자yyyy-MM-dd
- @parameter
(e: 'update:stt', value: string | null | undefined): void, (e: 'update:end', value: string | null | undefined): void,slot
없음Usage
<VmDateRange v-model:stt="data.sttDt" v-model:end="data.endDt" label="" required />
VmMonthRange
- Props
stt-string | null | undefined. v-model. 시작 연월end-string | null | undefined. v-model. 종료 연월label? -string. 입력항목의 제목nameStt? -string시작일자 <input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용nameEnd? -string종료일자 <input>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredStt? -boolean. 시작만 필수. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredEnd? -boolean. 종료만 필수. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.
- Emits
update:stt- @parameter
value선택한 시작 연월yyyy-MM
- @parameter
update:end- @parameter
value선택한 종료 연월yyyy-MM
- @parameter
(e: 'update:stt', value: string | null | undefined): void, (e: 'update:end', value: string | null | undefined): void, - slot
없음 - Usage
<VmMonthRange v-model:stt="data.sttYm" v-model:end="data.endYm" label="" required />
VmPopup
[코드 + 팝업아이콘 + 이름] 이 결합된 형태의 입력항목을 생성한다.
Props
component-string팝업 컴포넌트 이름modelValue? -string | nullv-model은 팝업 codename? -string | nullv-model:name은 팝업 명칭의 값label? -string제목nameCode?:string코드 input의 name 속성. 필수입력 검사와 container의 getElement()에서 사용nameName?:string명칭 input의 name 속성. container의 getElement()에서 사용required? -boolean라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.codeWidth? -string코드 input의 폭.nameWidth? -string명칭 input의 폭hideCode? -boolean코드항목을 숨길지 여부hideButton? -boolean팝업버튼을 숨길지 여부hideName? -boolean이름항목을 숨길지 여부changing? -({ code, name, item }: PopupResult) => boolean | Promise<boolean>팝업에서 선택한 값을 적용하기전에 호출된다. 선택한 값을 적용할지 여부를 반환한다.
Emits
update:modelValue- @parameter
code팝업에서 선택한 값
- @parameter
update:name- @parameter
name팝업에서 선택한 값의 명칭
- @parameter
changed- @parameter
{ code, name, item }: PopupResultcode input에 입력한값으로 조회한 결과가 1건이어서code와name에 값이 반영된후에 호출되는 이벤트
- @parameter
(e: 'update:modelValue', code: string | null): void (e: 'update:name', name: string | null): void (e: 'changed', { code, name, item }: PopupResult): voidtype
interface PopupResult { popupResultCount?: number code?: string | null name?: string | null item?: PopupItem | null event?: Event }slot
없음Usage
<VmPopup component="팝업컴포넌트이름" v-model="condData.comCodePopupId" v-model:name="condData.comCodePopupName" label="" require code-width="" name-width="" :changing="popupChanging" hide-code hide-button hide-name /> <script> function popupChanging({code, name, item}: PopupResult) { return true; } </script>
VmTextarea
- Props
modelValue-string | number | null | undefined. v-modellabel? -string. 입력항목의 제목name? -string<textarea>의 name속성. 필수입력 검사와 container의 getElement()에서 사용required? -boolean. 라벨에 필수 표시하고 require함수에서 필수입력 검사한다.requiredLabel? -string. 필수입력 alert 할때label대신 표시된다.
- Emits
update:modelValue
(e: 'update:modelValue', value: string): void - slot
없음
VmIcon
/src/aseets/icon에 있는 svg 아이콘을 표시한다.
- Props
name-string. 아이콘 이름
- Emits
없음 - slot
없음 - Usage
<VmIcon name="" />