Vue의 동일한 구성 요소에 있는 여러 모달 상자를 프로그래밍 방식으로 렌더링
P粉627027031
2023-08-28 16:23:40
<p>내 구성 요소에는 콘텐츠가 다른 세 가지 팝업 모달이 있습니다. 특정 버튼을 클릭하면 해당 팝업 모달을 열어야 합니다. </p>
<p>내가 하고 있는 일이 바로 이것이다
<strong>버튼 1의 경우 -</strong></p>
<pre class="brush:php;toolbar:false;"><s-button type="button" class="bl_btn" @click="onClickProdOpen">
제품 세부 정보
</s-버튼></pre>
<p><strong>이 모달 1의 경우 </strong></p>
<pre class="brush:php;toolbar:false;"><s-modal v-model="isShowPopup1" :title="$t('LBL_PROD_CONT')"
<내 구성요소-1
:pageId ="this.$options.name"
:popupDefaultTab="popupOpenDefaultTab"
:onClickClose="onClickclose"
//></pre>
<p><strong>버튼 클릭 방법은 다음과 같습니다. 이와 같은 여러 다른 모달 상자에 대한 클릭 이벤트입니다. </strong></p>
<pre class="brush:php;toolbar:false;">메서드: {
onClickProdOpen() {
this.isShowPopup1 = 사실;
this.popupOpenDefaultTab = 0;
}
}</pre>
<p><s-modal은 사용자 정의 모달 상자 부분이므로 내용이 달라집니다. 그래서 이 모달 코드를 반복하고 콘텐츠만 변경했습니다. 즉, 다른 하위 구성 요소(MyComponentOne, MyComponentTwo...)를 전달했습니다. </p>
<p>그렇다면 모달 상자 코드를 여러 번 반복하지 않고 내부 콘텐츠 구성 요소만 변경하기 위해 스위치 케이스 문을 어떻게 사용할 수 있습니까? 어떤 제안이라도 도움이 될 것입니다. </p>
한 가지 옵션은 각 모달의 상태를 객체에 넣는 것입니다. 이렇게 하면 각 모달에 데이터 속성을 추가할 필요가 없습니다.
모달 내부의 내용이 충분히 유사하다면, 같은 방식으로 인덱스를 키로 사용하여 v-for를 사용할 수 있습니다.
으아악 으아악https://codepen.io/timfranklin/pen/abWEwLy?editors=1111