VantUI 팝 업 창 이 꺼 지지 않 거나 겹 치지 않 는 문 제 를 해결 합 니 다.
\#\#\#\#구성 요소 PopupTime.vue
vant 홈 페이지 의 popup+시간 선택 기 를 구성 요소 로 추출 합 니 다:
popup1show:true 즉 팝 업 창 표시
<template>
<div class="PopupTime">
<van-popup v-model="popup1show" position="bottom" :overlay="true" @click-overlay="clickOverlay">
<van-datetime-picker show-toolbar
:title="popupTitle.popupName"
v-model="currentDate"
type="datetime"
@cancel="onCancel" @confirm="onConfirm" class="font14"/>
</van-popup>
</div>
</template>
<script type="text/ecmascript-6">
export default {
props:{
popupTitle:Object,
},
data() {
return {
popup1show: true,
currentDate: new Date(),
};
},
methods:{
clickOverlay() {
this.onCancel();
},
onCancel() {},
onConfirm(value, index) {},
}
</script>
test.vue 에서 이 구성 요 소 를 호출 합 니 다.
<popup-time
v-show="isShowDelay"
:popupTitle="popupDelayT"
@PopupDelayTime="fromDelayT">
</popup-time>
//import PopupTime , components
별 문제 가 없 는 것 처럼 보 였 으 나 isShowdlay 가 rue 일 때 팝 업 창 은 몽 층 이 없 는 것 으로 나 타 났 고 두 번 째 클릭 으로 는 켜 지지 않 았 다.문제 해결
vant 의 문제 인 줄 알 고 한참 을 찾 았 는데 v-show 의 문제 로 v-if 로 바 꾸 면 문제 가 없습니다.
<popup-time
v-if="isShowDelay"
:popupTitle="popupDelayT"
@PopupDelayTime="fromDelayT">
</popup-time>
//import PopupTime , components
기괴 한 질문,홈 페이지 에 가서 한 번 보 세 요:v-if vs v-show
v-if 는'진짜'조건 렌 더 링 입 니 다.전환 과정 에서 조건 블록 안의 이벤트 모니터 와 하위 구성 요소 가 적당 하 게 소각 되 고 재 구축 되 는 것 을 확보 하기 때 문 입 니 다.
v-if 도 타성 이다.초기 렌 더 링 시 조건 이 가짜 라면 아무것도 하지 않 는 다―조건 이 처음으로 진짜 로 변 할 때 까지 조건 블록 을 렌 더 링 하기 시작한다.
이에 비해 v-show 는 훨씬 간단 합 니 다.초기 조건 이 무엇이든 요 소 는 항상 렌 더 링 되 고 DOM 에 보 존 됩 니 다.v-show 요 소 를 간단하게 전환 하 는 CSS 속성 display
일반적으로 v-if 는 더 높 은 전환 비용 이 있 고 v-show 는 더 높 은 초기 렌 더 링 비용 이 있 습 니 다.따라서 매우 빈번 한 전환 이 필요 하 다 면 v-show 를 사용 하 는 것 이 좋 습 니 다.실행 할 때 조건 이 바 뀌 지 않 으 면 v-if 를 사용 하 는 것 이 좋 습 니 다.
응...아니면 이 문제 가 어떻게 발생 했 는 지 모 르 겠 습 니까?
보충 지식:vant-----Picker 와 Popup 선택 기와 마스크 의 완벽 한 결합
초보 자 들 은 이런 문제 에 부 딪 힌 적 이 있 을 것 이다.아래 를 쓰 고 싶 고,또 마스크 를 쓰 고 싶다.두 개 를 합 쳐 쓰 고 커버 높이:100%,width:100%,z-index:999 등 을 써 서 정 하 세 요.
번 거 롭 고 번 거 로 운 체험 감 이 꼭 있 는 것 은 아니다.
vant 의 picker 와 popup 을 집합 하여 편리 하고 실 용적 입 니 다.
1.main.js 에 도입
import { Popup } from 'vant';
Vue.use(Popup);
import { Picker } from 'vant';
Vue.use(Picker);
2.
<van-popup v-model="show" position="bottom" :overlay="true">
<van-picker show-toolbar title=" " :columns="columns" @cancel="onCancel" @confirm="onConfirm" @change="onChange" />
</van-popup>
position:top or bottom or center 를 스스로 정의 할 수 있 습 니 다.물론 보통 bottom 입 니 다.:overlay:false or true 개인 적 인 요구 사항 보기
title:당신 의 요구 에 따라 정의
js:
효과 그림:
이상 의 열 자 는 모두 소생 이 스스로 실천 하 는 것 이 니 여러분 께 참고 가 되 기 를 바 랍 니 다.여러분 들 도 우 리 를 많이 지지 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
화면에서 효과의 실현 (1) - 대화 상자 팝업일반적으로 화면에서 버튼을 클릭하면 bootstrap 스타일의 대화상자(modal)를 표시한다. · 대화 상자를 팝업하는 버튼 지정 · 팝업 할 대화 상자를 div로 편집하여 스타일 설정 HTML만으로 다이얼로그를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.