[Vue.js] ant vue modal 등록하기
2021. 10. 6. 09:24ㆍ개발공부/etc
728x90
ant vue modal 등록하기
프로젝트에서 Vue, Spring boot로 이루어진 관리자용 웹을 맡고 있습니다. 이번엔 모달로 회원에 관련된 간단한 정보를 등록해 리스트로 볼 수 있는 기능이 필요해서 ant vue 공식문서를 참고해 구현했습니다.
<div df fdr fje>
<a-button @click="showItemCreateModal">아이템 등록</a-button>
<a-modal v-model="visible" title="아이템 등록" on-ok="createItem">
<template slot="footer">
<a-button key="back" @click="cancelItemCreateModal">
취소
</a-button>
<a-button key="submit" type="primary" :loading="loading" @click="createItem">
생성하기
</a-button>
</template>
<div df fdr fje>
<span>아이템 이름</span>
<a-input v-model="model.name"/>
</div>
</a-modal>
</div>
모달 팝업 버튼 showItemCreateModal
메서드와 template slot footer
로 구성된 HTML 코드입니다. 모달 내에서 회원 아이템 정보인 이름을 받아 서버에 저장하는 목적으로 기능을 구현했습니다.
vue 코드는 메인 컴포넌트에 모달 팝업 여부를 boolean 타입으로 지정해줄 수 있는 visible
, 모달이 닫힐때까지 시간을 정해줄 수 있는 setTimeout
메서드에 사용될 boolean 타입 loading
과 서버에 전달해줄 데이터 model
까지 설정해줍니다.
@Component
export default class Member extends Vue {
loading = false;
visible = false;
model = {
name: ""
}
showItemCreateModal() {
this.visible = true;
}
async createItem() {
this.loading = true;
await MemberApi.create(this.model);
setTimeout(() => {
this.visible = false;
this.loading = false;
}, 1000);
}
cancelItemCreateModal() {
this.visible = false;
}
}
async
와 await
는 자바스크립트 비동기식 처리 패턴입니다. 콜백함수와 프로미스의 단점을 보완해서 읽기 좋은 코드로 개선한 패턴이죠. async
와 await
은 다음 메서드를 시작하기 전에 HTTP 통신으로 return 되는 값을 받을 때까지 기다립니다. 리턴을 기다렸다 다음 메서드를 실행하는 순서를 정해주는거죠. 기다리는동안 자바스크립트는 비동기 메서드 외 다른 작업을 처리해줄 수 있습니다. 리턴이 완료되면 다시 해당 메서드로 돌아와서 작업을 이어줍니다.
참고자료
'개발공부 > etc' 카테고리의 다른 글
[Git] Git 브랜치 전략 (0) | 2021.10.29 |
---|---|
[Gradle] Build Maven에서 Gradle 이관시키기 (0) | 2021.10.24 |
[Vue.js] CORS Preflight OPTIONS 메서드 (0) | 2021.10.06 |
[Github] Github image 업로드 방식 (0) | 2021.10.02 |
[본인인증 API] jsp 코드를 Java Spring로 변환하려면(코드X) (0) | 2021.08.19 |